php中的utf-8解码问题

时间:2009-08-20 20:17:47

标签: php unicode utf-8 decode

我得到了一个.vcf文件,其中部件编码为UTF-8:

CATEGORIES;CHARSET=UTF-8:Straße & –dienste

现在“–”应为“-”,“Straße”应转换为“Straße”。

我试过

  • utf8_decode()
  • iconv()
  • mb_convert_encoding()

并且一直在使用多种输出编码选项,例如

  • header('content-type: text/html; charset=utf-8');
  • mb_internal_encoding('UTF-8');
  • mb_http_output( "UTF-8" );

但我没有得到想要的结果 - 而是:“StraÃ?e & â??dienste

任何人都会从我的大脑中得到那个结?非常感谢。

4 个答案:

答案 0 :(得分:1)

<强>解决。

我必须将PHP文件转换回ISO-8859-1(而不是UTF-8)。

认为这没什么区别,但确实如此!

答案 1 :(得分:0)

您可能真的想尝试utf8_encode()。从MySQL检索UTF-8编码信息并在UTF-8 HTML页面上显示时,我遇到了类似的问题。

答案 2 :(得分:0)

忘了提一下:没有MySQL ......

普通的PHP; - )

echo "Straße & –dienste";

echo utf8_decode("Straße & –dienste");

应该以某种方式成为“Straße&amp; -dienste”......但不会,不会,不会

答案 3 :(得分:0)

我没有给你答案,因为我不确定我完全理解你想要做什么(在PHP中读取.vcf文件?)....

但有一条线索:“Straße”是用UTF-8编码的“Straße”,但后来被解释为Latin1(或Windows-1252)。