mysql - 将数据库从aws移动到google cloud sql时出现汉字编码错误

标签 mysql amazon-web-services unicode utf-8 google-cloud-platform

我们有一个处理汉字 的网站,托管在 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/

相关文章:

c# - 使用正则表达式 (.NET) 查找 unicode 数字

python - 从 unicode : error 中删除标点符号

mysql - 选择仅按列分组,而不是聚合

php - 首次运行脚本处理时间

sql - 带有可选 "WHERE"参数的存储过程

amazon-web-services - aws 资源限制 api - 如何在 Rest Api 上分离堆栈

mysql - vb net在连接字符串mysql中设置超时时间

wordpress - 建立数据库连接 EC2 Amazon 时出错

amazon-web-services - 尝试调用 Go AWS Lambda 函数时权限被拒绝

python - 在 python 中使用 lxml 进行网页抓取后,我得到奇怪的字符而不是土耳其字符