打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一劳永逸的解决mysql存储和读取中文乱码的问题。 - fwkjdaghappy@126的...

一劳永逸的解决mysql存储和读取中文乱码的问题。

Mysql 2008-12-15 20:37:34 阅读231 评论0 字号:

关于MYSQL存储中文乱码

今天用MYSQL存储文本时,发现只能存数字和英文,存储中文的话就全是问号(?),我找到了一个解决办法,所以来分享一下:
就是在创建数据库的时候要把数据库的碥码也设置好,而之后在创建表,项的时候就不用指定了,因为它们会从上一级继承,
CREATE DATABASE $dbname DEFAULT CHARACTER SET utf8 COLLATEutf8_general_ci
如果还有更好的方法,
就是修改你安装目录下的my.ini
找到 #
default-character-set=utf8
去掉前面的注释符号 # ,这样你现在建立的数据库就可以存储中文了。

还有一个问题,有时候数据库里面显示是正常的,可是取出来的时候却是乱码,这个问题如何解决呢
只要在mysql_query($sql);之前加上
mysql_query("SET NAMES UTF8");改变一下字符编码就可以了。

乱码产生的原因

1.安装MYSQL时的会让你选择一种编码,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码
2.在PHPMYADMIN或mysql-front等系统创建MYSQL数据库时会让你选择一种编码,如果这种编码与你的PHP网页不一致,也有可能造成MYSQL乱码
3.MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码
4.MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码

所以,MYSQL乱码的原因无非就是以上几种,知道原因之后,要解决MYSQL乱码的方法也容易多了

解决办法。
我们一一来表达:
1.如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题
2.修改MYSQL数据库编码,如果是MYSQL数据库编码不正确: 可以在MYSQL执行如下命令: ALTER DATABASE`test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是将MYSQL的test数据库的编码设为utf8
3.修改MYSQL表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8COLLATE utf8_bin
以上命令就是将一个表category的编码改为utf8
4.修改字段的编码:
ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SETutf8 COLLATE utf8_bin NOT NULL
以上命令就是将MYSQL数据库test表中 dd的字段编码改为utf8

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
mysql php中文显示乱码的解决(转)
修改MYSQL数据库,数据表,字段的编码(解决JSP乱码)
MySQL+PHP乱码原理与解决 - 51CTO.COM
PHP服务器乱码
MySQL 中文乱码问题完美解决方案
MySQL字符集详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服