29 Mar 2010
urldecode编码转换字符集问题
下午为凸墙调试支付宝接口,遇到了几个小问题
URL中的UTF-8–>gb2312的转换
$urlname='Month/包月';
echo urlencode($urlname);
echo iconv('utf-8','gb2312',urldecode('Month%2F%E5%8C%85%E6%9C%88'));
Apache强制字符转换
关键在于配置中的“AddDefaultCharset UTF-8”这一行,这句的意思是所有的网页显示默认的编码都是“UTF-8”,其他编码要手动选择才能够正常显示,gb2312当然不例外。在这个约束下,即便在写网页程序时用Meta标示指定为GB2312也无济于事,因为apache已经有了明文强制要求。
开始我还以为是drupal代码中写了强制utf-8相关的语句所造成的