在資料庫中獲取到了新聞標題,使用php擷取一部分,出現問號亂碼。
原來的**是:
<?php了解到substr() 擷取中文字元會亂碼,於是修改為 mb_substr()$res['art_title'] ='選擇好的空投糖果**難嗎?';
echo substr($res['art_title'],0,20);
?>
<?php在本地測試一度正常,後面換了伺服器,上線之後,又出現亂碼了$res['art_title'] ='選擇好的空投糖果**難嗎?';
echo mb_substr($res['art_title'],0,20);
?>
查詢說是因為網頁檔案與資料庫編碼不一致
天知道為什麼不一致
我明明記得資料庫和頁面檔案我都是設定的 utf8 來著
雖然不懂什麼邏輯,但是也找到了解決方法,mb_substr() 最後乙個引數再加上編碼就行。
mysql擷取中文字元 mysql 擷取中文字元
1 char n 型別 char型別時定長的型別,即當定義的是char 10 輸入的是 abc 這三個字元時,它們佔的空間一樣是10個位元組,包括7個空位元組。當輸入的字元長度超過指定的數時,char會擷取超出的字元。而且,當儲存char值時,mysql是自動刪除輸入字串末尾的空格。char是適合儲...
PHP函式substr 擷取中文字元亂碼
substr 函式在擷取字串時是按位元組來擷取的,在gbk gb2312編碼下,乙個中文佔2個位元組 utf 8 unicode編碼下,乙個中文佔3個位元組。text 竹杖芒鞋輕勝馬,誰怕?一蓑煙雨任平生。echo text n 竹杖芒鞋輕勝馬,誰怕?一蓑煙雨任平生。echo strlen text...
python中文字元擷取亂碼
python學習中 python中關於中文字串擷取的問題 中文字元擷取亂碼 在python中乙個中文字元佔三個英文本元,看以下 print str 0 6 擷取啤酒兩個中文字元,需要從0開始截到6 print str 0 5 輸出 啤酒啤 就會出現亂碼 usr bin python coding u...