2

亲爱的stackoverflow'ers,

我有这个问题让我非常疯狂。我希望一些天才(或只是一个普通人)可以帮助我找到答案。

我想要什么?

  1. 使用 Excel,我将字符串(文件路径)发送到 php 文件
  2. PHP文件GET的路径
  3. PHP文件回显的路径

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

但是当我回显它给出的路径时Financie%CC%88n/file.xls)。

我知道这是某种转换(这意味着 e 应该与 ¨ 组合),但是我如何用 php 将它解码为普通的 utf8 ?!?!

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

谁是我的英雄?!;)

4

2 回答 2

3

看起来你想要urldecode($path);

如果您将解码后的字符串作为 HTML 发送到浏览器,请设置文档编码,例如:

<meta charset="utf-8" />

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

header('Content-Type: text/plain; charset=utf-8');
于 2013-05-16T20:42:53.623 回答
1

我在这里遇到了与“u%CC%88”类似的问题。原始字母是正常的德语“Umlaut”“ü”。“%CC%88”似乎只是“u”上方的点。当您尝试使用 Windows 7 资源管理器重命名名称中包含此“u%CC%88”的文件时,将光标设置在“ü”后面并删除到左侧,然后留下“u”。

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

即使您将 HTML 设置为

<meta charset="utf-8" />

HTML 验证器告诉你

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

于 2015-07-28T20:12:05.937 回答