【发布时间】:2010-03-24 12:22:15
【问题描述】:
我有一个 UTF-8 编码的 txt 文件,我想将它导入到 latin1_general_ci 表。 问题是某些字符显示为?在数据库中,而不是他们应该的。
我试过 mb_convert_encoding($str, "ISO-8859-1", "UTF-8");但这并没有做任何事情。
我做错了什么?
【问题讨论】:
我有一个 UTF-8 编码的 txt 文件,我想将它导入到 latin1_general_ci 表。 问题是某些字符显示为?在数据库中,而不是他们应该的。
我试过 mb_convert_encoding($str, "ISO-8859-1", "UTF-8");但这并没有做任何事情。
我做错了什么?
【问题讨论】:
Latin1 不包括所有 Unicode 字符。您可以使用 iconv() 和 //TRANSLIT 选项将未知字符音译为其最接近的 latin1 等价物:
iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text)
【讨论】:
我使用utf8_decode,它对我有用。
【讨论】:
您可以将它们转换为二进制,然后再将其转换回拉丁文
insert into table values
(convert(binary convert(data using utf8) using latin1))
【讨论】: