【MySql数据库常见字符集介绍】

  在互联网环境中,使用MySql时常用的字符集有:

【如何选择合适的字符集】

  1.如果处理各种各样的文字,发布到不同语言的国家地区,应选Unicode字符集,对MySQL来说就是UTF-8(每个汉字3字节),如果应用需要处理英文,仅少量汉字使用UTF8更好(中英文混合)

  2.如果只需要支持中文,并且数据量很大,性能要求也较高,可选择GBK(定长:每个汉字占双字节,英文也占双字节),如果需要大量运算,如:比较排序,定长字符集,更快,性能更高。

  3.处理移动互联网业务,可能需要utf8mb4字符集。

【查看当前MySQL系统支持的字符集】

使用“ show character set; ”来查看:

查看当前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           |     latin1     |---------服务器字符集,配置文件指定或建库建表指定

| character_set_system          |     utf8        |

【使用"set names ****"解决乱码问题】

我们先在MySQL默认创建的test数据库中建立一个"user"表

然后我们来为user表添加一些数据:

会发现,插入英文都正常,但是一旦插入中文会出现“ Incorrect string value:"\xD5\xC5\xC8\xFD" for column 'name' at row 1 ”的错误。

我们先查看一下其数据库test的字符编码,默认是Latin1编码的

再查看一下表user的字符编码:同样是latin编码

对应于数据库和表均为latin1编码的情况,如何可以插入中文数据呢?如下:

使用"set names latin1;"设置编码,然后插入中文字段即可。

接下来查询一下,关闭cmd,重新打开一个cmd重新登录,进行查询操作。

发现查询出来又是乱码,我们再处理一下,

于是可以得出,要根据被查询的数据库和表的本身的字符编码来进行对应的" set names  **** "进行处理。

再来看看"set names ****"的具体作用:

先看下数据库test的默认情况下的字符集设置情况:

使用“set names utf8;” 再看下结果:

最新文章

  1. MongoDB学习笔记——分片(Sharding)
  2. OO.A.D.P
  3. ES6新特性:Javascript中的Map和WeakMap对象
  4. Week1 学长的经验教训
  5. linux下解决端口被占用的问题
  6. JS实现星级评分
  7. mac os x 系统安装 genymotion android 模拟器
  8. .NET 里操作Excel 出现有些列的数据取不到的问题
  9. leetcode@ [295]Find Median from Data Stream
  10. android 52 粘滞广播
  11. 实际工作中遇到的一些css
  12. .net 网站应对压力的一些方案总结
  13. maven pom.xml 中各个标签元素的作用
  14. Python中执行系统命令常见的几种方法
  15. 针对Chrome谷歌等浏览器不再支持showModalDialog的解决方案
  16. Leetcode_48_Rotate Image
  17. iOS开发之将字典、数组转为JSON字符串方法
  18. wps for linux显示系统缺失字体解决办法
  19. 【转】如何修改 video 样式
  20. Java自带RPC实现,RMI框架入门

热门文章

  1. 【Java基础】Java接口的总结
  2. 【Java基础】static关键字的理解
  3. UVa1328 - Period(KMP找最短循环节)
  4. cnUVA情况
  5. autoSvn
  6. Android学习之 博客专栏 与 资料
  7. C# .Net基础知识点解答
  8. 成品入库过账bapi
  9. spring4使用websocket
  10. solr 搜索引擎