国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > 解决php mysql乱码问题

解决php mysql乱码问题

来源:程序员人生   发布时间:2014-02-13 21:19:01 阅读次数:3097次

本文的作用是为了全方位的避免因使用UTF-8编码而产生的乱码问题,不包含具体的乱码解决方案和编码转换的内容。对于UTF-8编码的深入了解,请参阅:《PHP匹配UTF-8中文字符的正则表达式》

1、编辑器:不要使用任何微软的编辑器,什么Frontpage,Web Designer,记事本,写字板什么的,能丢的全部丢开,因为这些编辑器会在你的UTF-8文档前面产生BOM,关于BOM的具体说明,可以在 这里 找到,当年我直接拿记事本转UTF-8覆盖原文件,造成大量代码损毁,至今记忆犹新。

2、MySQL数据库:注意建库,建表,建字段(注意有三处)的时候,都要选用utf8_general_ci的整理格式(Collation),在PHP使用mysql_connect()函数连接数据之后,需要加上一句:

  1. mysql_query('set names "utf8"'); 

3、PHP:

使用mb库,不要使用iconv库。

使用preg而不要使用ereg来处理字符。

使用htmlentities()函数,html_entity_decode()函数的时候要带上第三个参数:

  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
  2. <?php 
  3. $str = "<a href='test'>中文</a>"
  4. echo htmlentities($str,ENT_COMPAT,"UTF-8"); //显示(源代码里面)  
  5. ?> 
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生