php 碰到一個中文亂碼引起的神奇的問題
大家讲道理
大家讲道理 2017-05-31 10:33:23
0
2
940

比如

$data = '百度�騰訊,阿里';

$data1 // 是一個變數 印出來就是 '百度�騰訊,阿里'

var_dump($data);
var_dump($data1);

列印結果:
$data:string(24) "百度�騰訊,阿里"
$data1:string(22) "百度�騰訊,阿里"

$keywordsData = json_encode($data, JSON_UNESCAPED_UNICODE);
$keywordsData1 = json_encode($data1, JSON_UNESCAPED_UNICODE);
var_dump($keywordsData);##var_dump
var_d1($keysDatasData;

列印結果:

keywordsData:string(26) ""百度�騰訊,阿里""
keywordsData1:bool(false)

這是為什麼啊 我想直接拿變數 但現在遇到這個問題,求解答,謝謝

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
phpcn_u1582

雷雷

習慣沉默

兩個變數不一樣,雖然都是字串,但是長度一個24,一個22,第二個很明顯不是UTF8編碼,json_encode當然會錯誤。

你可以先偵測下字串編碼,mb_detect_encoding,然後再轉換成UTF8,mb_convert_encoding

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板