职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 3923|回复: 1

PHP显示MySQL乱码问题

[复制链接]
joe 发表于 2007-11-17 15:08 | 显示全部楼层 |阅读模式
√ 乱码问题1. 用PHPmyAdmin操作MySQL数据库汉字显示正常 ,但用PHP网页显示MySQL数据时所有汉字都变成了?号。

    症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号。很多学员都遇到了此问题,尤其是在安装了最新版的Appserv后。为此许多学员放弃了PHP,改学ASP了。

    原因:没有在PHP网页中用代码告诉MySQL该以什么字符集输出汉字。

    ★ 解决方法:这不是乱码,只要在PHP网页头部加入以下一段代码告诉MySQL以UTF8编码输出汉字即可
<? mysql_query(\"SET NAMES UTF8\");  ?>
    你也可以在网页中PHP代码部分直接插入上述代码片段(即去掉两端<??>号)。例如你用Dreamweaver连接数据库,那么可以在头部的连接代码
<?php require_once(&#39;Connections/connmessage.php&#39;); ?>中加入该代码使其变成<?
php require_once(&#39;Connections/connmessage.php&#39;);
mysql_query(\"SET NAMES UTF8\");
  ?>

    注意:如果你的网页编码是gb2312,那就是 SET NAMES GB2312。但编辑员强烈推荐网页编码、MySQL数据表字符集、PHPmyAdmin都统一使用UTF8。原因请见本站PHP教程第一章第2节。

   √ 乱码问题2. 用PHPmyAdmin输入数据时发生错误,不让输入或出现乱码

   ★ 解决方法:这是设置问题。请安装最新版PHPmyAdmin或Appserv,打开PHPmyAdmin,MySQL 字符集: UTF-8 Unicode (utf8); MySQL 连接校对应该为utf8_unicode_ci;创建新的数据库时整理一栏请也选成utf8_unicode_ci。网页字符集也最好选用utf8。utf8是国际标准编码,是趋势。怎样更改网页编码请看本站PHP教程第一章第2节。

    √ 乱码问题3. 在本机开发好的MySQL数据表,在本机测试一切正常,但用网站空间商提供的PHPmyAdmin上传时却出现问题,上传失败。尤其是使用国外PHP空间。

   ★ 解决方法:首先查看网站空间商提供的PHPmyAdmin字符集设定,确定自己所建数据表与空间是同一编码。在国外MySQL是不支持gb2312的,甚至最新版的Appserv也不支持gb2312。如果是因为编码不统一,可以重建数据表,当然是用国际标准的UTF8。
javasp 发表于 2007-11-19 12:43 | 显示全部楼层
顶!!!!
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-11 00:38 , Processed in 0.133132 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表