UTF8到latin1_swedish_ci

时间:2011-09-08 08:33:32

标签: php character-encoding

有很多关于latin1_swedisch_ci到utf8转换的主题。但另一种方式呢?我正在处理这个问题已经很长时间了,到目前为止我还没有找到解决方案。由于我不知道还有什么访问此数据库,我不想更改表的字符编码。

我在表中有一个用latin1_swedisch_ci格式化的列。现在我必须在php中编写查询。这个数据库包含德语和法语名称,这意味着我有ö,ä,ô等字符。我怎样才能做到这一点?

作为一个例子,如果我想查询名称'Bürki',那么我必须写一些像$ name ='Bürki'。是否有正确的方法将它转换为latin1_swedisch_ci而不使用字符串替换这些特殊字符?

2 个答案:

答案 0 :(得分:3)

iconv()会将字符串从一种编码转换为另一种编码。

您感兴趣的编码为utf-8iso-8859-1 - 后者与latin1等效。

“瑞典语”,“德语”等本地化会影响排序等问题,字符编码始终相同。

PS。

  

然后我必须写一些像$ name ='Bürki'。

如果您将源文件编码为UTF-8,则可以直接编写Bürki。 (然后,您必须将该字符串转换为iso-8859-1

答案 1 :(得分:1)

我同意Pekka,但是,我会尝试使用utf8_decode()函数,因为有可能没有安装iconv ...

然而,Iconv更强大 - 它可以做音译作为一个例子。但为此我相信utf8_decode()就足够了。