get请求的时候参数为中文问题
类似这样的url http://website/hello-中文.htm
这个中文没编码.提交过去是乱码
如果是http://website/hello.htm?name=中文.
这种url的话,中文会被escape一下.
这个是http规范.但是我url rewrite.其实那个中文是参数.浏览器没有自动帮我escape.导致.
firefox2会,firfox3不会,ie也不会.
解决办法就是改成老样子,参数的形式.要不就自己escape.
结论:get请求尽量不要用中文作为参数.
附:
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。字符值大于 255 的以 %uxxxx 格式存储。
[url]http://blog.csdn.net/PiouseLeo/archive/2008/01/28/2069618.aspx[/url]
类似这样的url http://website/hello-中文.htm
这个中文没编码.提交过去是乱码
如果是http://website/hello.htm?name=中文.
这种url的话,中文会被escape一下.
这个是http规范.但是我url rewrite.其实那个中文是参数.浏览器没有自动帮我escape.导致.
firefox2会,firfox3不会,ie也不会.
解决办法就是改成老样子,参数的形式.要不就自己escape.
结论:get请求尽量不要用中文作为参数.
附:
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。字符值大于 255 的以 %uxxxx 格式存储。
[url]http://blog.csdn.net/PiouseLeo/archive/2008/01/28/2069618.aspx[/url]