//实际上,最新mySQL以上两句已经失效,在命令行中先exit   然后重新登录可以实现这个目的

重新连接数据库,查看编码,数据表内容

1. mysql> show variables like 'character%';

MariaDB [(none)]> show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8mb4 |

| character_set_connection | utf8mb4 |

| character_set_database | utf8mb4 |

| character_set_filesystem | binary |

| character_set_results | utf8mb4 |

| character_set_server | utf8mb4 |

| character_set_system | utf8 |                      //该行未更改,建议使用替换,这样能改的全面

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

14. mysql>use test;15. mysql> select *from messages;16. +----+-------------------------------+

17. | id | message |

18. +----+-------------------------------+

19. | 1 | 虏芒脢脭MySQL脰脨脦脛脧脭脢戮 |

20. | 2 | ??MySQL?? |

21. +----+-------------------------------+

22. 这里显示依然是乱码主要是因为之前使用的编码不同造成的,重新运行之前写的程序:java JDBCTest23. 1 ????MySQL????????

24. 2 ??MySQL??

25. 3测试MySQL编码26. 从第三条记录我们可以看到现在程序连接数据库时可以正常的添加和显示中文了 //如果从MySQL command line中仍然查询不到数据,显示数据集为空,继续完成第三步使得系统的编码和mySQL的编码一致就可以查询出来了……& 27. mysql> select * from messages;

28. +----+-------------------------------+

29. | id | message |

30. +----+-------------------------------+

31. | 1 | 虏芒脢脭MySQL脰脨脦脛脧脭脢戮 |

32. | 2 | ??MySQL?? |

33. | 3 | 娴嬭瘯MySQL缂栫爜 |

34. +----+-------------------------------+看回数据库的显示,我们会很奇怪的发现为什么显示的都是乱码,这主要是和windows下命令行的编码有关,在命令行上(命令提示符左上角图标处右键属性)查看属性->选项的当前代码页:936 (ANSI/OEM -简体中文 GBK)(本人机子上是这样显示的) 也就是说命令行上使用的是GBK编码,而我们是在程序连接时使用utf8进行添加的,所以会出现有乱码,现在我们将客户端的编码改成gb2312或gbk试一下1. mysql> show variables like 'character%';2. +--------------------------+--------------------------+

3. | Variable_name | Value |

4. +--------------------------+--------------------------+

5. | character_set_client | gb2312 |

6. | character_set_connection | gb2312 |

7. | character_set_database | utf8 |

8. | character_set_filesystem | binary |

9. | character_set_results | gb2312 |

10. | character_set_server | utf8 | //最后你会发现这个还是没有更改,见下文

11. | character_set_system | utf8 |

12. | character_sets_dir | D:\MySQL\share\charsets\ |

13. +--------------------------+--------------------------+

14. mysql>use test;15. mysql> select *from messages;16. +----+-------------------+

17. | id | message |

18. +----+-------------------+

19. | 1 | ????MySQL???????? |

20. | 2 | ??MySQL?? |

21. | 3 | 测试MySQL编码 |

22. +----+-------------------+

补充:更改character_set_server,在安装目录的bin文件夹下使用MySQLInstanceConfig.exe配置,在很多步骤中的一步(选择编码)选择第二项(使用UTF-8)或者第三项(自己设定)……更改完毕……

现在可以看到中文正常显示了(主要是因为utf8也支持中文),所以当我们使用命令行工具连接数据库的时候最好将客户端的编码改一下,如果使用GUI的话就不必了,同时修改客户端的编码之后程序依然能够正常显示(以上两点已经测试)

所以如果在程序中要显示中文的话我们可以选用utf8,gb2312,gbk这三种编码,但是如果想在命令行添加中文数据或者查看的话就需要将客户端的编码设置为gb2312或gbk了,还是那句,CMD的编码有关

注意如下:

遇到一个奇怪的mysql乱码问题,我的mysql全部已经设置成了utf-8,sql-front中文显示也是正常的,通过程序或者是FRONT都能够查找中文,就单单再mysql中是乱码。 mysql> SHOW VARIABLES LIKE 'character_set_%';   -----------------------------+    | Variable_name            | Value                                     |    +--------------------------+-------------------------------------------+    | character_set_client     | utf8                                   |    | character_set_connection |  utf8 |    | character_set_database   |  utf8 |    | character_set_filesystem | binary                                    |    | character_set_results    |  utf8 |    | character_set_server     |  utf8 |    | character_set_system     | utf8                                      |    | character_sets_dir       | C:\MySQL\MySQL Server 5.0\share\charsets\ |    +--------------------------+-------------------------------------------+    8 rows in set (0.06 sec)看似都正常但是在mysql中执行select出来的中文都是乱码,sql-front正常。

声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。

自己结贴,字符就算都转成了UTF8但是控制台的字符好像一定要GBK,不知道什么原因我所有字符都是UTF8的但是要想不是乱码一定要在控制台中输入set names gbk;这样就不乱了,说实话很茫然。

mysql命令行下:

安装时是UTF8,my.ini下也改了。可使用show variables like 'character\_set\_%';查看时,发现

character_set_database=labins,character_set_server=labins

查看字符集show variables like 'character\_set\_%';

修改字符集 set character_set_client=utf8;

MySQL字符集修改命令

1.修改服务器级 a. 临时更改: mysql>SET GLOBAL character_set_server=utf8; b. 永久更改:shell>vi /etc/my.cnf[mysqld]default-character-set=utf8

2.修改数据库级 a. 临时更改: mysql>SET GLOBAL character_set_database=utf8; b. 永久更改:改了服务器级就可以了

3.修改表级 mysql>ALTER TABLE table_name DEFAULT CHARSET utf8; 更改了后永久生效

4.修改列级修改示例: mysql>ALTER TABLE `products` CHANGE `products_model` `products_model` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; 更改了后永久生效 5.更改连接字符集 a. 临时更改:mysql> SET NAMES utf8;b. 永久更改: shell>vi /etc/my.cnf在[client]中增加:default-character-set=utf8

mysql 配置中文支持_mysql 中文支持相关推荐

  1. mysql gbk支持_mysql如何支持gbk编码

    mysql支持gbk编码的方法:首先修改[my.cnf]文件:然后建立库表时指定gbk字符集,代码为[>show cereate table tablename]:最后修改jdbc驱动即可. m ...

  2. mysql 中文分词_MySQL 中文分词原理

    一,首先我们来了解一下其他几个知识点: 1. Mysql的索引意义? 索引是加快访问表内容的基本手段,尤其是在涉及多个表的关联查询里.当然,索引可以加快检索速度,但是它也同时降低了索引列的插入,删除和 ...

  3. MySQL配置日志服务器_mysql配置数据库日志

    mysql配置数据库日志 云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越.稳定可靠.弹性扩展的IaaS(Infrastructure as a Servi ...

  4. 下列支持mysql中文字符_MySQL中文支持问题

    0. 本文目的 让MySQL支持中文 1. 测试环境 Windows XP sp2,MySQL Server 5.1,MySQL Administrator 1.2.17 2. 操作步骤 1)修改数据 ...

  5. ado.net mysql中文乱码_mysql中文乱码

    mysql中创建数据库时已经指定了编码格式为utf8,JDBC代码中也解决了乱码问题.可是当sql语句中出现了中文后,查询结果就会出现异常,和预期的结果不同. 解决方法一: 在url后面指定要使用的编 ...

  6. mysql sphinx 中文搜索_MySQL中文全文搜索用迅搜还是Sphinx?

    大家好, 本人在MySQL里建立搜索的fulltext,但因为对中文支持度差,所以需要专用更好的插件. 网上有人推荐:Sphinx.mysqlcft和迅搜. http://lostphp.com/bl ...

  7. mysql存储emoji表情_MySQL中支持emoji表情的存储

    由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...

  8. mysql存储ios表情_MySQL中支持emoji表情的存储

    由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...

  9. mysql编码是乱码_mysql中文乱码 常见编码问题解决方法分享

    我是真的服了 mysql默认字符不是utf-8也不是GBK而是拉丁文字?? 在增删数据时 "中文字符" 老是乱码不停!害得我浪费不少时间在这上面 为各位之后不走坑 再此留下解决方法 ...

最新文章

  1. python海龟画笔如何运行_Python海龟绘图:turtle的简单使用
  2. mysql实验报告四_实验报告四
  3. 【转】ASP.NET中页面传值
  4. C#开发中关于加密解密字符串的使用方法
  5. hadoop目录命令
  6. Oracle学习(十五)PLSQL安装
  7. 让窗体接受拖放, 并获取拖过来的文件信息 - 回复 海浪问 的问题
  8. Java经典实例:进阶版堆栈实现,支持任何对象类型
  9. 服务器响应头隐藏X-power-by
  10. 后端如何接收对象类型的数据_javascript基本数据类型赋值和对象引用的内存情况分析...
  11. 嵌入式Linux开发板移植SSH
  12. 操作系统模拟进程调度实验报告java_操作系统实验2进程调度实验报告.doc
  13. RPCBind 服务被利用进行 UDP 反射 DDoS 风险预警
  14. linux 固态硬盘 分区工具,固态硬盘怎么分区?使用免费分区助手轻松搞定!
  15. li指令 汇编_51单片机(九)汇编指令
  16. w ndows10图标,Windows10系统图标怎样提取
  17. 通信光缆故障检测如何进行检测?
  18. C++中类的三种继承方式public(公有继承)、protected(保护继承)、private(私有继承)之间的差别(附思维导图)
  19. oracle中的than,range分区values less than,代表的是小于等于还是小于啊。
  20. 【逗老师带你学IT】ZoomRooms兼容硬件设计方案

热门文章

  1. 失传万年的PS合成进阶宝典(二)
  2. 时间序列模型--ARIMA模型
  3. Openlayers 6.2.1 浅尝心得(三)
  4. JSP版俄罗斯发方块+用户积分排行榜
  5. [机器学习]基于信用卡欺诈的预测分析
  6. 网吧计算机工作流程,[原创]网吧内各岗位工作流程
  7. Android 将文字转换成图片并保存起来,搭建android开发环境实验报告
  8. 违规使用OBS等源码,抖音海外版被举报
  9. Linux安装网卡驱动
  10. 妈耶我需要好好补一下计算机网络的知识了QAQ