#1 shejiqi
我看手册,好像只有生成真实静态文件。但我这个网站使用静态不是很方便,不想使用静态。但是我想把网址变成 www.xxxxx.com/main/index.html 这种样式的 能实现吗
2011-01-08 14:37:32
#4 jake
中文在生成URL的时候没问题,但是在IE下,接收参数的时候要用urldecode才行。
spUrl('main', 'index', array('my'=>'中文'));
生成的地址可能是
http://localhost/main/index/my/中文.html
那么在接收的时候,就应该 $my = urldecode($this->spArgs('my'));才能获取到“中文”这个值
2011-01-08 22:54:42
#6 shejiqi
我用urldecode还是不行呀 获取的是乱码 POST不用urldecode都是正常的 GET不行
2011-01-25 04:52:06
#8 jake
我用urldecode还是不行呀 获取的是乱码 POST不用urldecode都是正常的 GET不行
shejiqi 发表于 2011-1-25 04:52 
浏览器地址栏直接输入中文,在IE下的编码是GBK,而在FF和chrome都是UTF8,虽然可以做GBK转UTF8的转码,但是效果总是不太好,所以如果要GET传递中文,那么在发送之前就应该先urlencode一次,然后再传输就可以保证没有编码问题。具体的做法分两种:
1. 直接在地址栏输入中文——而不是表单GET提交,那么接收的时候只能先urldecode,然后再iconv转码成UTF8。
2. 表单GET提交(比如说搜索框),接收的时候只要urldecode即可。3. 如果是表单内隐藏域有中文value,那么在value里面就应该先urlencode,然后提交后urldecode接收。
2011-01-25 09:09:40