我们有一个处理汉字 的网站,托管在 AWS 上。
在这里,我可以毫无问题地将中文字符保存到数据库中。
现在我们转移到 Google Cloud,我在数据库中保存汉字时遇到问题。
它们显示为 一地兩檢
我遵循所有规则,例如“列应为 utf8-unicode-ci”和“数据库连接为 utf8”。
它在本地主机上运行良好。
知道有什么问题吗?
谢谢。
最佳答案
如果数据库中的数据(列)在两种情况下都包含(类似的)UTF8 编码数据,并且处理网页中数据的代码/平台相同(例如,不是 python 2 vs python 3 ),差异可能是当前的本地设置,Google 服务器(环境变量)、SQL 客户端(UTF8 设置)或 php 设置。 让我们从 sql-client 开始: 尝试运行 php - 函数
mysqli_character_set_name()
获取编码。如果不是 UTF-8 则设置为
mysqli_set_charset('utf8')
如果这不起作用,请通过将 META html 标签中的字符集设置为 utf-8 来确保 php-html 内容
charset=utf-8
并强制执行
declare(encoding='utf8')
关于mysql - 将数据库从aws移动到google cloud sql时出现汉字编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48006583/