mysql 查询中文乱码

给电脑重装了系统后重新装了 mysql,但是使用的时候发现插入了中文数据后,查询出来的数据中文显示为问号。

不管是在 myeclipse 上,还是 mysql 命令行窗口,还是 SQLyog上都无法显示中文。

通过在网上查阅的资料,有很多朋友都遇到了这样的问题,并解决了问题。我也因此多学了点东西。

以下方法仅供参考,确实解决了本人遇到的 mysql 中文乱码的问题


原因:可能是安装时没有设置好编码格式
表现:插入的中文数据查询出来显示成问号
解决方法

       1,在安装目录找到 my.ini 文件,打开;
       2,找到里面的 default-character-set,改为 utf8;这样,以后创建的表默认就是 utf8 的编码格式了
       3,但是,已经创建好的数据库、表需要另外设置。打开 mysql 命令窗口;
       4,执行以下两条命令
              alter database 数据库名 default character set utf8 collate utf8_general_ci;
              alter table 表名 default character set utf8 collate utf8_general_ci;  
       5,重启 mysql 服务

我做了以上的步骤后,插入的中文数据在 sqlyog 和 myeclipse 中查出来是显示正常的,但是在命令窗口显示的还不是我们能看懂的简
体中文,不过已经不是问号了


再在 mysql 命令窗口执行如下命令
set character_set_database=utf8;
set character_set_server=utf8;
set character_set_client=gb2312;
set character_set_connection=gb2312;
set character_set_results=gb2312;

终于,mysql 命令窗口查出来的数据也正常了


附:mysql 小知识

       打开 cmd 命令窗口:net stop mysql    ---停止 mysql 服务
                                             net start mysql    ---启动 mysql 服务

                                              注意不要在末尾加分号

            

        打开 mysql 命令窗口:a、直接在开始窗口输入 mysql 即可打开

                                                 b、如果已经在 cmd 窗口,又不愿退出,则可以输入 mysql -uroot -pmysql;  (root换成自己的用户名,mysql 换成自己的密码)

 

          在 mysql 命令窗口可执行以下命令/语句

                          a、show variables like '%char%';  ---查看编码设置
                          b、show create database 数据库名;   ---查看该数据库的编码格式
                          c、show create table 表名;   ----查看该表的编码格式
                          d、show full columns from 表名;   ---可以查看该表格字段的属性

    


    


     






评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值