常见PHP和mysql中文乱码问题的解决方案
症状:汉字在phpMyAdmin是正常的,但是当PHP页面显示MySQL数据,汉字成为一个数字,多少个汉字有一个数。
原因:PHP网页中没有代码告诉MySQL什么字符集输出汉字。
uff1a解
1。页文件头集代码
2.php页面是用UTF-8编码保存时,保存,可以用记事本或convertz802转换
三.当数据库是建立在MySQL数据库中,数据库选用UTF-8编码设置被设置为utf-8_unicode_ci字符(Unicode(多语言),不区分大小写),
库内表的排序规则设置为utf-8_general_ci
每个表中字段的排序规则设置为utf-8_general_ci
4。当PHP连接到数据库,即mysql_connect()
/ /集数据字符集UTF-8
mysql_query(设置names'utf8);
mysql_query(设置character_set_client = utf8);
mysql_query(设置character_set_results = utf8);
注意是UTF8,不是UTF-8。
如果你的网页代码是GB2312,这集的名字GB2312。但编辑强烈推荐网页编码,mysql数据表的字符集,和phpMyAdmin使用UTF-8一致。
以上四点可以在全站UTF-8编码实现,也将在数据库中没有中国的随机码。
问题2:随机码时发生错误的数据进入phpMyAdmin,和输入或随机码是不允许的
解决方法:这是一个问题的设置。请安装phpmyadmin或地方特色数据库的最新版本,打开phpMyAdmin,MySQL字符集:UTF-8 Unicode(UTF8);连接mysql的整理应utf8_unicode_ci;创建新的数据库时,安排一列,请选择utf8_unicode_ci.utf-8也是Web特征sets.utf-8最好的选择是一个国际标准的代码,这是一个趋势。
3的乱码问题:在本机上开发的MySQL数据表,机上所有的测试都是正常的,但有一个问题,当上传上传的网站空间提供商的phpMyAdmin,但上传失败。尤其是国外PHP空间使用。
解决方案:首先看phpMyAdmin的字符集设置的网络空间和确定经销商提供的数据表的代码作为服务提供者相同。在国外,MySQL不支持GB2312,甚至最新版本的Apache不支持GB2312,如果代码不统一,数据表可以重建,当然,与国际标准UTF8。