2011-02-03 101 views
1

我的网站上我将送一个Location头使用UTF-8编码的Unicode数据这样正确地重定向Location头。即不与Unicode字符

其他浏览器,它会将用户带到http://sr.wikipedia.org/sr/Србија,这是

我在Ubuntu机器上运行的Apache 2和Location头中的URL中包含网站的域名。该网站发送text/html; charset=utf-8作为其内容类型。

我已经试过:

  • 添加AddDefaultCharset utf-8指令httpd.conf文件。
  • 使用rawurlencode()对位置URL进行编码。
  • Location标题前发送header("Content-Type: text/html; charset=utf-8");
  • 关闭内容编码
  • 的gzip通过utf8_encode()utf8_decode()

但I.E.发送URL仍然不会识别URL的编码。有什么建议么?

回答

2

你忘了报头字段名称,并且需要使用rawurlencode正确编码URI路径:

header("Location: http://sr.wikipedia.org/sr/".rawurlencode("Србија")); 
+0

我不知道为什么我没有想到的是......就像一个魅力!谢谢! – PureForm 2011-02-03 09:53:20