我在一个看起来像这样的表中有数据(基于 SQLYog):
(1) µéÁÂÓ ·Óᡧ
但是当正在读取数据的论坛系统在屏幕上显示它时,它看起来像这样:
(2) ต้มยำ ทำแกง</p>
第二个输出是正确的(泰语)。
我正在编写一个脚本,该脚本将提取所有这些数据并将其导入新数据库(MongoDB),但是当我提取数据并回显到浏览器时,我得到的输出类似于上面的第一个 (1)。
我该如何进行转换,以便在插入(或将其输出到浏览器)时像(2)一样正确保存和显示?
我无法输出像 (2) 这样的文本,但我能够通过包含在我的 html 中来使输出看起来像 (1):
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
然后在回显数据时:
echo iconv('latin1', 'utf-8', $string);
我敢肯定这很简单,但我对 unicode 等还不够熟悉,无法解决这个问题!谢谢大佬!
更新
我现在更近了一步。我打了电话:
mysql_query("SET NAMES 'utf8'");
然后能够使用以下命令输出 (1):
echo $string;
所以我猜 MySQL 现在正在通过连接为我将 latin1 转换为 utf8,而不是我必须通过 iconv 在 PHP 中执行此操作。
但是仍然无法将泰文字符输出到浏览器!