网站URL中出现标题乱码是怎么回事?
发布网友
发布时间:2022-04-21 02:00
我来回答
共2个回答
热心网友
时间:2022-06-17 05:50
发现是乱码,然而如果我在浏览器中直接输入重写前的网址,中文是能够显示的,因此这里在URL中可能存在编码不统一的问题。
热心网友
时间:2022-06-17 05:51
这次在网站的URL静态化中需要加入一个包含中文的参数,比如:/list-103.类别.html
中文部分就在类别处,由于我只是将URL中需要的部分用正则表达式提取出来然后Rewrite到响应的页面即可,所以不存在匹配中文这种稍微有点复杂的正则表达式。
不过这条规则使用以后,重写后显示的页面出现了问题,于是加了个echo显示传入的“类别”。
发现是乱码,然而如果我在浏览器中直接输入重写前的网址,中文是能够显示的,因此这里在URL中可能存在编码不统一的问题。
URL中其实也是有编码的,百度和谷歌识别出来的URL就是用了不同的编码,Google是UTF8的,而百度是GB2312的,所以对于那些URL中包含中文的朋友来说的确是挺痛苦的,鱼与熊掌不可兼得。
由于这次我使用的是GBK编码,所以URL应该也是属于GB2312的,然而经过资料查阅,发现不管是Apache还是ISAPI_Rewrite,URL均识别的是UTF8编码的,因此,这里就出现了乱码。
需要说的是,这里使用UNICODE过的URL也是没用的,因为编码不同,UNICODE出来的URL地址也是不同的,所以最终的解决办法,也只有是将网页转换成UTF8编码了。