>php教程 >php手册 >解决php mysql乱码问题

解决php mysql乱码问题

WBOY
WBOY원래의
2016-05-25 16:53:251095검색

本文的作用是为了全方位的避免因使用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()函数连接数据之后,需要加上一句:

mysql_query('set names "utf8"');

3、PHP:

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

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

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

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<?php 
$str = "<a href=&#39;test&#39;>中文</a>"; 
echo htmlentities($str,ENT_COMPAT,"UTF-8"); //显示(源代码里面)


教程地址:

欢迎转载!但请带上文章地址^^

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.