1

当导航到这样的 URL 时:

http://example.com/user?u=ヴィックサ

我注意到 Chrome 将字符编码为:

http://example.com/user?u=%E3%83%B4%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B5

一切都在服务器端工作。

但是,在 IE 中,我从代码中收到此错误:

您尝试查找的用户 (?????) 不存在。

注意五个问号。由于某种原因,PHP 永远无法看到该参数。

这可能是什么原因造成的,有什么办法可以解决吗?

4

1 回答 1

1

可悲的是,您想要做的似乎不适用于当前一代的 IE

这个问题的公认答案IE 查询参数中的 UTF-8 Encoding issue表示您需要自己对字符进行编码,而不是依赖浏览器,因为支持因浏览器而异,甚至可能因设备而异

<a href='/path/to/page/?u=<?=urlencode('ヴィックサ')?>'>View User</a>

另外我认为您正在从网络服务器设置 utf8 标头?你没有说,如果不是,在php中

header('Content-Type: text/html; charset=utf-8');
于 2013-04-27T16:41:05.513 回答