如何修复UTF8网址?

时间:2015-06-23 21:30:39

标签: javascript php html .htaccess

我在

等html文件中有链接
  

HREF ="%87%D9%84-%D9%8A%D9%86%D9%81%D8%b9-%D8%A7%D8%AE%D9%84%D9%89- %D8%A8%D8%B1%D9%86%D8%A7%D9%85%D8%AC-%D8%A7%D9%84%D9%85%D9%8A%D8%AA%D8%A7% D8%AA%D8%B1%D9%8A%D8%AF-%D9%8A%D9%86%D8%A8%D9%87%D9%86%D9%89 / index.html中"

我希望当用户点击浏览器中的此链接时,链接就会出现 是

  

RealUtf8Text / index.html中

有没有办法使用.htaccess文件? 如果没有,我们如何使用javascript文件?

我不想对文件进行更改,只需添加.htaccess或javascript文件即可解决问题。

2 个答案:

答案 0 :(得分:0)

您使用urldecode,

urldecode("%87%d9%84-%d9%8a%d9%86%d9%81%d8%b9-%d8%a7%d8%ae%d9%84%d9%89-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d8%ac-%d8%a7%d9%84%d9%85%d9%8a%d8%aa%d8%a7%d8%aa%d8%b1%d9%8a%d8%af-%d9%8a%d9%86%d8%a8%d9%87%d9%86%d9%89/index.html")

请参阅中的文档 http://php.net/manual/en/function.urldecode.php
还要确保你的HTML上有这个

<meta http-equiv="Content-type" content="text/html; charset=utf-8"> 

答案 1 :(得分:0)

问题似乎是您的网址不包含有效的UTF-8数据。没有以八位位组87开头的UTF-8序列。

我猜测您的网址缺少d9d8个八位字节。此网址:

  

http://localhost/%d9%87%d9%84-%d9%8a%d9%86%d9%81%d8%b9-%d8%a7%d8%ae%d9%84%d9%89-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d8%ac-%d8%a7%d9%84%d9%85%d9%8a%d8%aa%d8%a7%d8%aa%d8%b1%d9%8a%d8%af-%d9%8a%d9%86%d8%a8%d9%87%d9%86%d9%89/index.html

在我的浏览器中显示为阿拉伯字符:

Browser address bar

URL的显示方式当然取决于浏览器对阿拉伯字符的支持,而且不受JavaScript或.htaccess的影响。