帮助中心
  • 云主机
  • 数据盘
  • 弹性IP
  • 快照
  • 云防火墙

比格云建议用户将所有的字符集都设置为UTF-8,因为utf8兼容绝大部分字符,而统一的字符集设置是避免出现乱码最有效的方式,并且后台的mysqldump等备份工作我们也是统一使用的utf8字符集,

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

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

出现乱码的原因大概有两个:

一、存入的字符集(charactersetclient)和取出的字符集(charactersetresults)不一致,那么必然会导致乱码;

二、虽然存入和取出的字符集一致,但期间有字符集转换,

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

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


上一篇 下一篇

技术交流企业群

点击发起工单