• 技术文章 >数据库 >mysql教程

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

    2016-06-07 18:03:33原创478

    今天在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乱码
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:乱码
    上一篇:mysql多次调用存储过程的问题 下一篇:mysql误删root用户或者忘记root密码解决方法
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• MySQL怎么解决delete大量数据后空间不释放的问题• mysql远程连接不上怎么办• MySQL约束与多表查询基础详解• mysql列转行函数是什么• mysql怎么删除外键关系
    1/1

    PHP中文网