-
UID:2
-
- 注册时间2005-01-04
- 最后登录2024-07-30
- 在线时间128小时
-
- 发帖600
- 搜Ta的帖子
- 精华47
- PB3246
- 威望526
- 贡献值187
- 交易币124
- 好评度279
-
访问TA的空间加好友用道具
|
作者: dashan 出自: http://www.phpchina.cn
// 在任意字符集下正常显示网页的方法 // 测试通过 // 可以在存入数据库前使用
error_reporting(E_ALL);
if(function_exists('mb_convert_encoding')) {// 需要有 Multibyte String 扩展 $a = mb_convert_encoding('你好', 'HTML-ENTITIES', 'GB2312'); $b = mb_convert_encoding($a, 'GB2312', 'HTTP-ENTITIES'); wFile('try.php', $a.'\n'.$b); /*如果需要对整个页面进行转换,只需要在PHP文件头加上下面三行 mb_internal_encoding('gb2312'); mb_http_output('HTML-ENTITIES'); ob_start('mb_output_handle'); */ } elseif(function_exists('iconv')) { $a = uiconv('gb2312', 'a,世界您好!$%#abc'); wFile('try.php', $a); print $a; } else print 'sorry my baby';
function wFile($file, $content) { $fp = fopen($file, 'w'); flock($fp, 2); fwrite($fp, $content); flock($fp, 3); fclose($fp); }
// 使用 iconv 对页面进行转换--测试通过 function uiconv($encode, $string) { $string = iconv($encode, 'UTF-16BE', $string); $output = ''; for($i = 0; $i < strlen($string); $i++,$i++) { $code = ord($string{$i}) * 256 + ord($string{$i + 1}); if($code < 128) { $output .= chr($code);// chr 是把英文或是半角符号转换为字符 } elseif($code != 65279) { $output .= ''.$code.';'; } } return $output; } ?>
|