關(guān)于BIG5-HKSCS的解決方法
更新時(shí)間:2007年03月20日 00:00:00 作者:
非??鄲灥匕l(fā)現(xiàn),原來一直困擾的HKSCS問題PHP一直也支持。只不過名稱不叫HK-SCS,叫BIG5-HKSCS。
以下是HK增補(bǔ)字符集的解決方案:
HTML頁面設(shè)為UTF-8,
寫入數(shù)據(jù)庫前先:iconv('big5-hkscs','utf8', $string)
需轉(zhuǎn)為UNICODE就用以下函數(shù)
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;
}
}
以下是HK增補(bǔ)字符集的解決方案:
HTML頁面設(shè)為UTF-8,
寫入數(shù)據(jù)庫前先:iconv('big5-hkscs','utf8', $string)
需轉(zhuǎn)為UNICODE就用以下函數(shù)
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;
}
}
相關(guān)文章
php之static靜態(tài)屬性與靜態(tài)方法實(shí)例分析
這篇文章主要介紹了php之static靜態(tài)屬性與靜態(tài)方法,以實(shí)例形式較為詳細(xì)的分析了php靜態(tài)屬性與靜態(tài)方法的概念與相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
Mysql的Root密碼忘記,查看或修改的解決方法(圖文介紹)
本篇文章是對(duì)關(guān)于Mysql中的Root密碼忘記,查看或修改的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP實(shí)現(xiàn)檢測(cè)客戶端是否使用代理服務(wù)器及其匿名級(jí)別
這篇文章主要介紹了PHP實(shí)現(xiàn)檢測(cè)客戶端是否使用代理服務(wù)器及其匿名級(jí)別,需要的朋友可以參考下2015-01-01
php數(shù)據(jù)結(jié)構(gòu) 算法(PHP描述) 簡(jiǎn)單選擇排序 simple selection sort
一次選定數(shù)組中的每一個(gè)數(shù),記下當(dāng)前位置并假設(shè)它是從當(dāng)前位置開始后面數(shù)中的最小數(shù)min=i,從這個(gè)數(shù)的下一個(gè)數(shù)開始掃描直到最后一個(gè)數(shù),并記錄下最小數(shù)的位置min,掃描結(jié)束后如果min不等于i,說明假設(shè)錯(cuò)誤,則交換min與i位置上數(shù)。2011-08-08
PHP實(shí)現(xiàn)對(duì)二維數(shù)組某個(gè)鍵排序的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)對(duì)二維數(shù)組某個(gè)鍵排序的方法,涉及php針對(duì)數(shù)組的遍歷、比較、排序等相關(guān)操作技巧,需要的朋友可以參考下2016-09-09
PHP定時(shí)自動(dòng)生成靜態(tài)HTML的實(shí)現(xiàn)代碼
為了提高網(wǎng)站的訪問速度,我們往往采用生成靜態(tài)的方式來實(shí)現(xiàn),這樣確實(shí)把網(wǎng)站的訪問速度提高了非常多.2010-06-06
PHP連接數(shù)據(jù)庫實(shí)現(xiàn)注冊(cè)頁面的增刪改查操作
這篇文章主要介紹了PHP連接數(shù)據(jù)庫實(shí)現(xiàn)注冊(cè)頁面的增刪改查操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03

