php、urldecode() 和元音变音 - ö

发布于 2024-09-29 09:58:58 字数 611 浏览 5 评论 0原文

使用 PHP 5.3.2,我在处理名称中包含元音变音的页面的请求时遇到问题:ö

使用 Firefox + Live HTTP headers 为 test_ö_test.htm 页面发出请求,我可以看到 Firefox 自动转换/在发出请求时对元音变音进行编码:

GET /test_%C3%B6_test.htm HTTP/1.1

现在,使用 http://meyerweb.com/eric/tools/ dencoder/ 我能够在 test_ö_test.htm 和 test_%C3%B6_test.htm 之间进行编码/解码,所以我认为编码是正确的。

使用 PHP 的 urldecode(),我得到 test_ö_test.htm

并且返回了令人讨厌的 404。请注意,文件系统上确实存在 test_ö_test.htm。

当我使用 javascript 的 escape() 进行测试时,我得到 test_%F6_test.htm。当我将其插入浏览器时,我成功返回了内容页面。 urldecode() 将其转回元音变音。

Using PHP 5.3.2, I'm having trouble with handling a request for a page whose name has an umlaut in it: ö

Making the request using Firefox + Live HTTP Headers for the test_ö_test.htm page, I can see firefox automatically converts/encodes the umlaut when it makes a request:

GET /test_%C3%B6_test.htm HTTP/1.1

Now, using http://meyerweb.com/eric/tools/dencoder/ I am able to encode/decode between test_ö_test.htm and test_%C3%B6_test.htm, so I figure that encoding is correct.

Using PHP's urldecode(), I get test_ö_test.htm

And the hated 404 is returned. Note that test_ö_test.htm does exist on the file system.

When I test with javascript's escape() I get test_%F6_test.htm. When I plug that into my browser, I get the content page returned successfully. urldecode() turns that back into the umlaut.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

桜花祭 2024-10-06 09:58:58

您的页面被声明为 ISO-8859-1,而您的数据则采用 UTF-8 编码。这会导致浏览器尝试将两字节 UTF-8 序列 0xc3 0xb6 解释为两字符 Latin-1 序列“LATIN CAPITAL LETTER A WITH TILDE”“PILCROW SIGN”。您的数据和页面的内容编码需要一致。

Your page is declared as ISO-8859-1, while your data is UTF-8 encoded. This results in the browser trying to interpret the two byte UTF-8 sequence 0xc3 0xb6 as the two character Latin-1 sequence "LATIN CAPITAL LETTER A WITH TILDE" "PILCROW SIGN". Your data and the content encoding of the page need to agree.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文