答案:WINDOWS
1、MySQL是有一些环境变量可以设置,
可输入:show variables;可查看当前的环境变量设置;
2、这些变量当中有一部分与字符相关的设置,
可输入:show variables like ´character%´;查看;
3、其中character_set_results决定返回结果的编码,
windows下设为gb2312即可正常显示中文;
设置方法:set character_set_results=gb2312;,然后回车即可;
4、当然,如果想通过命令提示行窗口来输入中文修改数据库内容,
则可以试试设置set character_set_connection=gb2312;
以及set character_set_client=gb2312;
说明:
以上在命令提示行窗口中设置的值,
其有效期仅仅为本次连接有效,
即断开本次连接之后,
重新连接进来,
所有所设置的变量又恢复到默认的值了。
ubuntu9.0.4 mysql乱码解决办法
操作系统环境:
ubuntu9.0.4、MySql5.1(通过sudo apt-get install mysql5.1安装)
现象:
在终端
1.mysql -uroot -proot 进入mysql客户端
2.use parking 选中一个数据库
3.select *from users 选择一个用户表
里面中文字段显示为???
4.使用语句show variables like 'character%'
则会显示有几个选项为latin的,并不是utf8
解决步骤:
1. 找到mysql的配置文件
mysql的配置文件就是/etc/init.d/mysql/my.cnf。(如果不是ubuntu9.0.4,这个文件并不一定存在,由于你可能采取的MySQL安装方式跟网上所说的不一样,就不一定能够找得到/etc/init.d/mysql/my.cnf。因此,你需要使用find命令查找cnf文件。记得不要去找my.cnf因为它不一定存在,而应该找*.cnf。
2.修改前应该备份一下cp /etc/init.d/mysql/my.cnf /etc/my.cnf.bak
打开my.cnf修改编码
# sudo vi /etc/init.d/mysql/my.cnf
在[mysqld]下添加
default-character-set=utf8
在[client]下添加
default-character-set=utf8
3. 重启mysql
根据你安装mysql的方式的不同,采用不用的命令来重启你的mysql。如果你配置过使用mysqld自启动方式,可以执行
cd /usr/bin/
mysqladmin -uroot -proot shutdownmysqld_safe & (如果权限不够的话就执行 sudo mysql_safe &)
4.使用语句show variables like 'character%'
则会只有一个是latin,其余的是utf8
更改 windows 下 cmd(dos) 编码方式 将其改为UTF-8
chcp 命令,
chcp 65001 就是换成UTF-8代码页
chcp 936 可以换回默认的GBK
chcp 437 是美国英语备注:个人测试CMD下修改编码不能解决MYSQL乱码
上一个:MySQL InnoDB和MyISAM数据引擎的差别分析
下一个:mysql建立自定义函数的问题