【发布时间】:2013-05-01 19:29:50
【问题描述】:
我在一个看起来像这样的表中有数据(基于 SQLYog):
(1) µéÁÂÓ ·Óá¡§
但是当正在读取数据的论坛系统在屏幕上显示它时,它看起来像这样:
(2) ต้มยำทำแกง
第二个输出是正确的(泰语)。
我正在编写一个脚本,它将提取所有这些数据并将其导入新数据库 (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 中执行此操作。
仍然无法将泰语字符输出到浏览器!
【问题讨论】:
标签: php mysql unicode encoding utf-8