2013-12-19 52 views
0

如何在PHP中將此:灣 轉換爲\ u7063?Big5轉換爲UTF-8的PHP

我問的原因是某種程度上中文字符存儲爲mysql(utf-8編碼),但當用查詢'灣'進行搜索時,我無法在db中搜索它。

附加資料

我DB編碼是UTF-8,使用歸類utf8_general_ci。 PHP文件保存在UTF-8中。我嘗試了Nambi提出的方法,但它沒有工作,它返回?在控制檯中。見附圖enter image description here

+0

那麼你必須在數據庫中,究竟是什麼不起作用?你有'灣'?或者,也許文字''\ u7063''? – Raffaele

+1

'\ u7063'與UTF-8沒有任何關係。這是一些特定於語言的Unicode轉義序列。用UTF-8編碼的「灣」看起來像「灣」,而不是「\ u7063」。這個逃脫的角色從哪裏開始?而且我不確定BIG5會在哪裏出現。 – deceze

+0

什麼是你的db編碼?什麼是連接編碼?您是否以UTF-8格式保存您的PHP腳本文件? – bitfox

回答

0

試試這個代碼是指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; 

    } 
+0

這不起作用,請參閱我發佈的附加圖片。 – jaycode