mysql字符集产生乱码的简单讲解
2008-03-14 02:45
267 查看
我们可以用下面命令检查mysql当前字符集信息:
解决办法吗?当然也很简单,网页上随便一搜就能搜到。
但我多少感觉有些不舒服,每次查询前都要写mysql_query(‘set name gbk’);。这一点我挺不满意的。于是我又开始搜索,结果我找到了下面将要讲到的配置方法
于是我用命令提示符打开了mysql。测试发现在命令提示符下操作mysql一切正常。弄到这里我的头都大了。
为什么中文字却能不加转换的插入到数据库中?
带着这两个问题我又打开命令提示符。执行查询操作,结果显示的全是乱码(当时我想的是:文字应该为gbk编码)。于是我又执行:set names gbk; 把这个数据库字符集改为gbk字符集。再执行查询结果显示的全部是问号。这到底是怎么回事,我真的不想再研究了。
我想看到这里大家已经应该明白了,下面我做一个小总结吧。
(1) 在mysql5.0.45环境下,数据库把由php传递的数据默认为latin1 (iso-8859-1) 字符集来处理。即把latin1转换为utf-8,然后插入。
(3) cmd模式下操作mysql,和用php操作在字符集处理上是两种概念。cmd下操作mysql,mysql会把cmd下的数据默认为mysql默认的字符集转换为utf-8后处理。而处理php数据mysql会默认为 latin1 数据做处理。
因为我只是在本地作测试,为了测试时少写一行mysql_query(“set names gbk”)。所以我把 my.ini 的 [ mysql ] 栏default-characte_set 改为 latin1。这样无论自己在本地测试或是cmd下操作mysql都很方便。但是如果你用的是phpmyadmin的话,可能会显示乱码,解决办法就是安装一个支持字符集为 latin1的phpmyadmin。字符集和字符集校对都为 latin1 ,就能正常显示了。
解决办法吗?当然也很简单,网页上随便一搜就能搜到。
但我多少感觉有些不舒服,每次查询前都要写mysql_query(‘set name gbk’);。这一点我挺不满意的。于是我又开始搜索,结果我找到了下面将要讲到的配置方法
于是我用命令提示符打开了mysql。测试发现在命令提示符下操作mysql一切正常。弄到这里我的头都大了。
为什么中文字却能不加转换的插入到数据库中?
带着这两个问题我又打开命令提示符。执行查询操作,结果显示的全是乱码(当时我想的是:文字应该为gbk编码)。于是我又执行:set names gbk; 把这个数据库字符集改为gbk字符集。再执行查询结果显示的全部是问号。这到底是怎么回事,我真的不想再研究了。
我想看到这里大家已经应该明白了,下面我做一个小总结吧。
(1) 在mysql5.0.45环境下,数据库把由php传递的数据默认为latin1 (iso-8859-1) 字符集来处理。即把latin1转换为utf-8,然后插入。
(3) cmd模式下操作mysql,和用php操作在字符集处理上是两种概念。cmd下操作mysql,mysql会把cmd下的数据默认为mysql默认的字符集转换为utf-8后处理。而处理php数据mysql会默认为 latin1 数据做处理。
因为我只是在本地作测试,为了测试时少写一行mysql_query(“set names gbk”)。所以我把 my.ini 的 [ mysql ] 栏default-characte_set 改为 latin1。这样无论自己在本地测试或是cmd下操作mysql都很方便。但是如果你用的是phpmyadmin的话,可能会显示乱码,解决办法就是安装一个支持字符集为 latin1的phpmyadmin。字符集和字符集校对都为 latin1 ,就能正常显示了。
相关文章推荐
- MySQL字符集产生乱码的简单讲解
- MySQL字符集产生乱码的简单讲解
- MySQL字符集乱码简单讲解
- MySQL字符集的简单讲解
- 为 MySQL 设置默认字符集(UTF-8)避免产生乱码
- 为 MySQL 设置默认字符集(UTF-8)避免产生乱码
- mysql数据表字符集是latin1,项目是utf8,怎么从数据表中读取数据而保证不乱码?
- 解决mysql字符集乱码问题
- mysql字符集及乱码问题
- MySQL字符集 GBK、GB2312、UTF8区别解决 MYSQL中文乱码问题
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题
- 关于QT,C++,MySQL之间中文乱码问题的简单解决
- mysql数据库中文乱码问题,修改mysql字符集(Linux Windows)
- MYSQL字符集设置,解决乱码问题
- Linux下MySQL5.6的修改字符集编码为UTF8(解决中文乱码问题)
- 【MySQL for Mac】navicat for mysql中文乱码问题——MySQL在Mac的字符集设置
- PHP与MySQL开发中页面乱码的产生与解决
- centos 7.2中xampp mysql 数据字符集设置解决中文乱码
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题
- Mysql Blob类型 转换为java String 时产生乱码的解决办法