0
如何在PHP中將此:灣 轉換爲\ u7063?Big5轉換爲UTF-8的PHP
我問的原因是某種程度上中文字符存儲爲mysql(utf-8編碼),但當用查詢'灣'進行搜索時,我無法在db中搜索它。
附加資料
我DB編碼是UTF-8,使用歸類utf8_general_ci。 PHP文件保存在UTF-8中。我嘗試了Nambi提出的方法,但它沒有工作,它返回?在控制檯中。見附圖。
如何在PHP中將此:灣 轉換爲\ u7063?Big5轉換爲UTF-8的PHP
我問的原因是某種程度上中文字符存儲爲mysql(utf-8編碼),但當用查詢'灣'進行搜索時,我無法在db中搜索它。
附加資料
我DB編碼是UTF-8,使用歸類utf8_general_ci。 PHP文件保存在UTF-8中。我嘗試了Nambi提出的方法,但它沒有工作,它返回?在控制檯中。見附圖。
試試這個代碼是指here
function big52utf8($big5str) {
$blen = strlen($big5str);
$utf8str = "";
for($i=0; $i<$blen; $i++) {
$sbit = ord(substr($big5str, $i, 1));
//echo $sbit;
//echo "<br>";
if ($sbit < 129) {
$utf8str.=substr($big5str,$i,1);
} elseif ($sbit > 128 && $sbit < 255) {
$new_word = iconv("BIG5", "UTF-8", substr($big5str,$i,2));
$utf8str.=($new_word=="")?"?":$new_word;
$i++;
}
}
return $utf8str;
}
這不起作用,請參閱我發佈的附加圖片。 – jaycode
那麼你必須在數據庫中,究竟是什麼不起作用?你有'灣'?或者,也許文字''\ u7063''? – Raffaele
'\ u7063'與UTF-8沒有任何關係。這是一些特定於語言的Unicode轉義序列。用UTF-8編碼的「灣」看起來像「灣」,而不是「\ u7063」。這個逃脫的角色從哪裏開始?而且我不確定BIG5會在哪裏出現。 – deceze
什麼是你的db編碼?什麼是連接編碼?您是否以UTF-8格式保存您的PHP腳本文件? – bitfox