首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

命令提示行连接mysql乱码的解决

作者:  时间: 2011-05-02

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 shutdown
mysqld_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乱码