微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解决php mysql乱码问题

本文的作用是为了全方位的避免因使用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. ?> 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐