Apr
13
使用方法:
GBK字符集下,我做中文伪静态的时候,用非转义url格式网页出现乱码.
我查了查,是因为GET下来的字符串默认是UTF-8,最后就使用了这个函数就解决了.
其实很简单,就是使用了PHP下的mb_convert_encoding函数,我扩展了一下,支持四种字符集转换,所以PHP必须支持mb_convert_encoding函数.
<?php
$str = '这里是需要格式的字符串';
$new_str = phpcharset($str, 'GBK');
echo $new_str;
function phpcharset($data, $to) {
$encode_array = array('ASCII', 'UTF-8', 'GBK', 'GB2312', 'BIG5');
$encoded = mb_detect_encoding($data, $encode_array);
$data = mb_convert_encoding($data, $to, $encoded);
return $data;
}
?>
$str = '这里是需要格式的字符串';
$new_str = phpcharset($str, 'GBK');
echo $new_str;
function phpcharset($data, $to) {
$encode_array = array('ASCII', 'UTF-8', 'GBK', 'GB2312', 'BIG5');
$encoded = mb_detect_encoding($data, $encode_array);
$data = mb_convert_encoding($data, $to, $encoded);
return $data;
}
?>
GBK字符集下,我做中文伪静态的时候,用非转义url格式网页出现乱码.
我查了查,是因为GET下来的字符串默认是UTF-8,最后就使用了这个函数就解决了.
其实很简单,就是使用了PHP下的mb_convert_encoding函数,我扩展了一下,支持四种字符集转换,所以PHP必须支持mb_convert_encoding函数.



