关于mysql数据库存储中文乱码的问题
2012-12-07 00:00
316 查看
前提 :
1数据库和表都是utf8_general_ci格式
2程序代码也是utf-8格式,且使用了mysql_query("set names utf-8"); 及
htmlentities ENT_QUOTES,'utf-8'
结果:
即使是这样 插入数据库汉字仍然在数据库中看到的是乱码,但是页面上显示的好的。
原因及解决方法:
原因可能是mysql在安装的时候的设置不对。
解决方法,你无法改变供应商重新安装mysql的话,只能接受这样的事实。就让它乱码吧,
需要导出数据的话可以自己手写代码用csv或者xls导出。
实际上后来发现以下解决方案,
phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决乱码问题
使用虚拟主机空间上的phpmyadmin操作数据库的时候,如果看到phpmyadmin首页上显示的MySQL 字符集为cp1252 West European (latin1),当我们导入数据时就会出现乱码,解决的方法是:
在phpmyadmin首页的右边有个Language选项,把默认的中文 - Chinese simplified-gb2312改成 中文 - Chinese simplified,则左边的MySQL 字符集会变成UTF-8 Unicode (utf8) ,乱码问题得到解决!
如果数据库编码没有问题,则
确保所有页面都是 utf-8 无BOM
另外在调用页面 mysql_query 前也 写入 mysql_query("set names utf8")
就可以保证无乱码
1数据库和表都是utf8_general_ci格式
2程序代码也是utf-8格式,且使用了mysql_query("set names utf-8"); 及
htmlentities ENT_QUOTES,'utf-8'
结果:
即使是这样 插入数据库汉字仍然在数据库中看到的是乱码,但是页面上显示的好的。
原因及解决方法:
原因可能是mysql在安装的时候的设置不对。
解决方法,你无法改变供应商重新安装mysql的话,只能接受这样的事实。就让它乱码吧,
需要导出数据的话可以自己手写代码用csv或者xls导出。
实际上后来发现以下解决方案,
phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决乱码问题
使用虚拟主机空间上的phpmyadmin操作数据库的时候,如果看到phpmyadmin首页上显示的MySQL 字符集为cp1252 West European (latin1),当我们导入数据时就会出现乱码,解决的方法是:
在phpmyadmin首页的右边有个Language选项,把默认的中文 - Chinese simplified-gb2312改成 中文 - Chinese simplified,则左边的MySQL 字符集会变成UTF-8 Unicode (utf8) ,乱码问题得到解决!
如果数据库编码没有问题,则
确保所有页面都是 utf-8 无BOM
另外在调用页面 mysql_query 前也 写入 mysql_query("set names utf8")
就可以保证无乱码
相关文章推荐
- 关于mysql数据库的中文乱码问题
- 关于JAVA插入Mysql数据库中文乱码问题解决方案
- 关于在java web中,存储数据库产生的中文乱码问题
- 关于mysql数据库中存放中文字段乱码问题解决方案
- 关于mysql varchar字段 存储中文出现乱码的问题
- 关于C++Builder调用MySQL数据库中文乱码问题
- 关于建立MySQL数据库,中文出现乱码问题
- 解决mysql数据库存储中文乱码的问题
- 关于mysql数据库插入数据,不能插入中文和出现中文乱码问题
- 关于 Hibernate 存储数据到 MySQL 中文乱码的问题
- 关于hibernate插入数据到mysql数据库中文乱码问题的解决
- 关于hibernate中文写入mysql数据库乱码问题
- 关于mysql数据库存储数据乱码问题
- 关于MYSQL数据库中文显示乱码问题
- 解决存储数据到mysql数据库中文乱码的问题
- 关于MySQL存储过程中中文乱码的问题
- 关于Androdi中SQLITE 3采用GBK编码存储,数据库中文乱码问题。
- 关于在地址栏中直接输入中文,后台获取乱码的问题。
- Hibernate连接MySQL数据库中文乱码问题
- 关于ajax中URL传递中文产生乱码的问题