服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|

服务器之家 - 数据库 - Mysql - mysql命令提示行连接乱码的解决

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

2019-11-18 15:21MYSQL教程网 Mysql

今天在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乱码

延伸 · 阅读

精彩推荐