0

我有一个充满字符串的数据库,其中包含奇怪的字符,例如:

Design Tattoo Ãœbungshaut

Mehrflächiges Biozid Reinigungs- & Desinfektionsmittel

Ãœ据我了解, andä应该在哪里,Ü以及Ã何时在适当的UTF-8.

是否有标准功能可以将这些多个字符恢复为正确的UTF-8形式?

PHP我遇到过$url = iconv('utf-8', 'iso-8859-1', $url);似乎接近但不足的情况。也许我有错误的参数,但无论如何我只是想知道这个问题有多了解以及是否有既定的修复?

原始数据取自电子商务系统CubeCart,将其转换回普通文本似乎没有问题,仅供参考。

4

2 回答 2

0

作为示例显示的数据是 UTF-8 编码数据,被错误地解释为 ISO-8859-1(或 windows-1252)。问题组合实际上是“Ü”和“ä”(德语中没有“Ā”)。所以显然你需要做的是将数据读取为 UTF-8 并以这种方式显示,而不是转换它。

于 2013-01-21T15:14:30.393 回答
0

如果数据库和输出是 utf-8,可能是因为您没有使用 utf-8 作为客户端字符集。

如果您使用 mysqli,您可以使用set_charsetSET NAMES utf8在获取数据之前作为查询运行。

于 2013-01-21T15:47:41.713 回答