如何将UTF8编码转换为简体中文

时间:2014-05-30 01:05:33

标签: php mysql encoding utf-8 pdo

我使用PDO MySQL从PHP插入数据。我不知道的是,在进行每个查询之前,我必须使用“SET NAMES'utf8'”语句。

因此,在进行修复( SET NAMES'utf8'命令)之前,所有用简体中文输入的内容都变得类似于“ä¸-å®”。

我使用过PHP mb_detect_encoding ,似乎编码仍然是UTF-8。有没有什么方法可以将这些数据(用户在添加修复程序之前输入的数据)转换为可读的简体中文字符?

以下是一些例子:

(first name ; last name)

"詠昌明" ; "蔡"
"瑩書" ; "陳"
"培熙" ; "楊"
"培熙" ; "楊"
"立" ; "王"
"光凱" ; "陳"

解:

正如评论中所提到的,问题实际上是双重编码的utf-8,可以使用下面的MySQL语句修复(感谢How to fix double-encoded UTF8 characters (in an utf-8 table)中提供的答案)

UPDATE TABLE_NAME
SET FIELD_NAME = CONVERT(CAST(CONVERT(FIELD_NAME USING latin1) AS BINARY) USING utf8);

我已经更新了这个答案,因为可能有人确实知道'双重编码的utf-8':)

0 个答案:

没有答案