Heim >Datenbank >MySQL-Tutorial >mysql命令提示行连接乱码的解决

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

WBOY
WBOYOriginal
2016-06-07 18:03:33959Durchsuche

今天在dos下连接mysql数据库的时候,出现了乱码,需要的朋友可以参考下。

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乱码
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn