您的位置 首页 php

解决PHP的MySQL的UTF-8问题

这里有一个你应该做的操作列表,以便让PHP + MySQL使用UTF-8:

568600063440130211c1

1、数据库:

CREATE DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
; 

或者如果已经创建数据库:

ALTER DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
;
CREATE TABLE table_name(
...
)
DEFAULT CHARACTER SET utf8 
COLLATE utf8_general_ci; 

或者如果已经创建了表格:

ALTER TABLE tbl_name
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
; 

2、在php.ini中启用这一行:

extension=php_mbstring.dll 

然后在相同的文件中配置以下内容:

mbstring.language = Neutral
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.detect_order = auto
mbstring.substitute_character = none
default_charset = UTF-8 

3、使用下列php函数替代:

mail() -> mb_send_mail()
strlen() -> mb_strlen() 
strpos() -> mb_strpos()
strrpos() -> mb_strrpos()
substr() -> mb_substr()
strtolower() -> mb_strtolower()
strtoupper() -> mb_strtoupper()
substr_count() -> mb_substr_count()
ereg() -> mb_ereg()
eregi() -> mb_eregi()
ereg_replace() -> mb_ereg_replace()
eregi_replace() -> mb_eregi_replace() 
split() -> mb_split()
htmlentities($var) -> htmlentities($var, ENT_QUOTES, 'UTF-8') 

4、使用header和meta标签:

header('Content-type: text/html; charset=UTF-8') ;
<meta http-equiv="Content-type" value="text/html; charset=UTF-8" /> 

5、在数据库中的任何插入/更新之前,您应该执行以下操作:

mysql_query("SET NAMES 'utf8'"); 

文章来源:智云一二三科技

文章标题:解决PHP的MySQL的UTF-8问题

文章地址:https://www.zhihuclub.com/76802.shtml

关于作者: 智云科技

热门文章

网站地图