关于BIG5-HKSCS的解决方法


非常苦悶地發現,原來一直困擾的HKSCS問題PHP一直也支持。只不過名稱不叫HK-SCS,叫BIG5-HKSCS。
以下是HK增補字符集的解決方案:
HTML頁面設為UTF-8,
寫入數據庫前先:iconv('big5-hkscs','utf8', $string)
需轉為UNICODE就用以下函數
function String2Unicode($data, $language)
{
$data = nl2br(trim($data));
$data = str_replace('<br />',chr(13),$data);
$str = '';
preg_match_all("/[\x80-\xff]?./",$data,$ar);
debug($ar);
foreach($ar[0] as $v)
{
if($v != '' && $v!=chr(13))
{
$str .= "&#".utf82unicode(iconv($language,"UTF-8",$v)).";";
}else {
$str .=$v;
}
}
return $str;
}
function utf82unicode($c) {
switch(strlen($c)) {
case 1:
return ord($c);
case 2:
$n = (ord($c[0]) & 0x3f) << 6;
$n += ord($c[1]) & 0x3f;
return $n;
case 3:
$n = (ord($c[0]) & 0x1f) << 12;
$n += (ord($c[1]) & 0x3f) << 6;
$n += ord($c[2]) & 0x3f;
return $n;
case 4:
$n = (ord($c[0]) & 0x0f) << 18;
$n += (ord($c[1]) & 0x3f) << 12;
$n += (ord($c[2]) & 0x3f) << 6;
$n += ord($c[3]) & 0x3f;
return $n;
}
}



相关阅读:
Vista系统兼容问题:摄像头不能打开怎么办
利用JavaScript更改input中radio和checkbox样式
ASP技巧:让Len,Left,Right函数识别中文
dedecms5.1在线生成google sitemap方法
202个免费的高质量XHTML模板(1)
分析ASP.NET服务器控件开发-控件生命周期
FreeBSD4.8安装,汉化全过程
javascript正则表达式的常用方法总结
ASP.NET获取不到js写的cookie解决方法
Javascript简易调色板效果
phpcms更换服务器后前台后台无法登录的解决方法
JavaScript学习历程和心得小结
div水平垂直居中的完美解决方案
提升JS性能:将递归转换为迭代
快速导航

Copyright © 2016 phpStudy |