免费注册
帮助文档(华北一、二)
  • 浪潮云服务建议用户将所有的字符集都设置为UTF-8,因为utf8兼容绝大部分字符,而统一的字符集设置是避免出现乱码最有效的方式,并且后台的mysqldump等备份工作我们也是统一使用的utf8字符集,

    并没有检测服务器端的字符集设置,其他的字符集设置可能会导致备份乱码。如果您的项目中有使用到emoji表情,那么建议您将所有的字符集设置成utf8mb4(5.6版本以后支持)

    另外,InDB不支持设置字符集的校验规则,采用的是对应字符集的默认校验规则,除非您自行在MySQL终端设置(我们非常不建议您这么做)

    出现乱码的原因大概有两个,一是存入的字符集(character_set_client)和取出的字符集(character_set_results)不一致,那么必然会导致乱码;二是虽然存入和取出的字符集一致,但期间有字符集转换,

    但是这个转换过程并非无损的,那么也有可能导致乱码。所以我们建议您的程序在登陆InDB时,以utf8为例,先通过这个命令set names utf8来保证character_set_clientcharacter_set_connectioncharacter_set_results均为utf8

    并且在配置文件中设置character_set_servercharacter_set_databasecharacter_set_system均为utf8,在表定义时就可以不指定字符集而采用默认的utf8了,这样就可以完全杜绝乱码问题了。

     



文档是否已解决您的问题?

  已解决   未解决

如您有其它疑问,您也可以与我们技术专家联系探讨。

联系技术专家