为什么MySql的表记录中有些中文显示问号
来源:百度知道 编辑:UC知道 时间:2024/06/23 17:33:29
求高手解答,急切~在线等。
数据库编码用的是GB2312
如果不对,能不能告诉我用哪种编码谢谢啦~~~~~
UTF-8不行。。。
大家请看清问题描述呀,我遇到的问题是极少部分中文无法正常显示。。。比如“衎”,“劼”这两个字就没有办法正常保存到数据库和显示,而其他大部分中文都可以。
用UTF-8
如果是数据库中有乱码,就是录入数据时不是GB2312的。这只能重新修改记录了。如果只想输出时页面正常显示的话,那么就采用和你页面标准一直的编码。比如你页面是GB2312的话,就如楼下说的mysql_query(set names gb2312);
如果页面是utf-8就
mysql_query(set names utf8);
不需要UTF-8,不然这么多gb2312的网站都得完蛋了。
链接数据库后。
mysql_query(set names gb2312);
这就设置了输出的编码。
这是字符集不一致造成的。
修改mysql的默认字符集是通过修改它的配置文件来实现的。一般分两种情况:
Windows平台
windows下的mysql配置文件是my.ini,一般在c:windowsmy.ini或者c:winntmy.ini可 以直接在这个文件里面加上
default-character-set=gbk #或gb2312,big5,utf8
然后重新启动mysql
service mysql restart 或 /etc/init.d/mysql restart
或用其他方法重新启动,就生效了。
Unix(linux)平台
linux下的mysql配置文件是my.cnf,一般是/etc/my.cnf,如果找不到可以用find命令找一下:
find / -iname my.cnf
在这个文件里面加上
default-character-set=gbk #或gb2312,big5,utf8
然后重新启动mysql
net stop mysql
那是乱码,建表的时候你可以指定编码格式。