用%CC%88解码string – 用PHP编码?

亲爱的stackoverflow'ers,

我有这个问题,让我非常疯狂。 我希望有些天才(或者只是一个普通人)能帮助我find答案。

我想要什么?

  1. 用Excel,我发送一个string(一个文件path)到一个php文件
  2. PHP文件GET是path
  3. PHP文件echo是path

path如下: Financiën/file.xls (注意ë)

但是,当我回应它给Financie%CC%88n/file.xls )。

我知道这是一种转换(这意味着电子应该与¨)相结合,但是我如何解码与PHP正常的utf8?!?!

我搜查了所有的互联网,但我不知道如何find正确的答案:s

谁是我的英雄?! ;)

它看起来像你想urldecode($path);

如果您将解码的string作为HTML发送到浏览器,请设置文档编码,如下所示:

 <meta charset="utf-8" /> 

对于文本模式,首先设置正确的标题:

 header('Content-Type: text/plain; charset=utf-8'); 

我在这里遇到了类似的问题,“u%CC%88”。 原来的信是普通的德语“Umlaut”“ü”。 “%CC%88”似乎只是“u”上方的点。 当您尝试使用Windows 7资源pipe理器的名称命名文件名为“u%CC%88”时,将光标置于“ü”后面并将其删除,然后将“u”留下。

注意,没有程序生成这样的字符,它应该生成正常的UTF-8“ü”或在你的情况下正常的UTF-8“ë”。

即使你设置你的HTML

 <meta charset="utf-8" /> 

HTMLvalidation器告诉你

文本运行不在Unicode规范化表格C.