为什么php设定php mysql_query(set names utf-8)后,中文还是乱码

chenjing1121 2009-04-04 10:22:10
如题 但是如果是gb2312就可以正常显示中文
...全文
16820 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
前云 2012-05-24
  • 打赏
  • 举报
回复
doctor219 2011-07-06
  • 打赏
  • 举报
回复
mysql_query(set names utf8)
-------------
我亲身体会了

helcyon 2010-09-19
  • 打赏
  • 举报
回复
不知道怎么的windows下应该是 set names utf8,到linux下就需要写成set names utf-8
zhenglm 2009-06-04
  • 打赏
  • 举报
回复
如果用gb2312是中文,那么用utf8就应该是乱码,mysql语句对了也是。。。因为编码方式不一样。。。
vnking 2009-06-04
  • 打赏
  • 举报
回复
帮顶一下。。。
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 phpBoy005 的回复:]
mysql_query(set names utf8)
[/Quote]

今天也是一样,发现确实是写错了。是utf8 而不是utf-8
isfrog 2009-04-04
  • 打赏
  • 举报
回复
楼上正解,jfing
phpboy 2009-04-04
  • 打赏
  • 举报
回复
mysql_query(set names utf8)
  • 打赏
  • 举报
回复
那就用gb2312吧
phpboy 2009-04-04
  • 打赏
  • 举报
回复
应该是要保持编码一致的
网页中
<meta http-equiv="content-type" content="html/text; charset=utf-8" />
header
@header("content-Type: text/html; charset=utf-8");
liuhuimin88 2009-04-04
  • 打赏
  • 举报
回复
最好还是用gb2312的
chenjing1121 2009-04-04
  • 打赏
  • 举报
回复
mysql我用的是utf-8,php页面我也用utf-8,但还是出错,用了gb2312后就没问题。
  • 打赏
  • 举报
回复
你在建立数据库的时候是否更改了原先的校对没有?
如果有的话,你的mysql_query()的内容要和你的校对的一致。

==================
建议一般不要更改MySQL的校对和整理!
都用utf-8,在网页文件中的charset也用utf-8,否则中文数据插入了也会变成乱码!
孤灯空明 2009-04-04
  • 打赏
  • 举报
回复
外国的免费空间 造成的?
Zijian_Zhang 2009-04-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 chenjing1121 的帖子:]
如题  但是如果是gb2312就可以正常显示中文
[/Quote]

mysql_query("set names utf8");
而不是utf-8。

楼主的意思是不是指定为GB2312就没事呢??如果是那么你的数据库不是UTF8而是GB2312的。

网页用header强制指定编码,文件自己的 编码也要是utf-8的。
Lee2K 2009-04-04
  • 打赏
  • 举报
回复
用mysql4.0.27以前的版本.没有数据校对的话,就不会出现UTF-8的乱码问题,这是最直接的解决方法,其他方法的话.很麻烦,如果你网页文件本身是UTF-8格式的.那么,够你折腾的了.详情可参考http://topic.csdn.net/u/20090104/22/69c003fc-7e74-459a-a9f0-f22e43427e09.html这个.

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧