mysql charset latin1 到 utf-8 转换问题

Posted

技术标签:

【中文标题】mysql charset latin1 到 utf-8 转换问题【英文标题】:mysql charset latin1 into utf-8 conversion issue 【发布时间】:2014-01-31 16:30:40 【问题描述】:

我的客户的网络应用程序有数百万条记录的大型数据库。所有表格的编码都是latin1。

当我获取一些包含大量数据的文本字段并发送该字符串时,会出现一些奇怪的字符问题。这样当我收到电子邮件时,空格会转换成这个字符 Â。 不允许更改 DB 编码。 我尝试了以下 php 函数但没有结果 ;(

$msg = mb_convert_encoding($msg, "UTF-8", "latin1");

请帮忙

【问题讨论】:

us2.php.net/iconv ? 【参考方案1】:

我会检查 php 认为的编码

echo mb_detect_encoding($str);

然后做

iconv("detectedEncoding", "UTF-8", $str);

或者如果未安装 iconv,请检查您的编码是否在您的解决方案中正确。 ;)

【讨论】:

以上是关于mysql charset latin1 到 utf-8 转换问题的主要内容,如果未能解决你的问题,请参考以下文章

正确的输出,网站是 utf-8,mysql 是 latin1_swedish_ci

将 UTF8 表上的 latin1 字符转换为 UTF8

Python MySQL CSV 导出到 json 奇怪的编码

mysql中latin1编码中文转utf8

插入到mysql的是中文,但select的时候显示乱码

python flask-sqlalchemy如何设置使自动建的mysql表字符集charset为utf8