>  Q&A  >  본문

PHP에서 중국어 왜곡 문자로 인해 마법 같은 문제가 발생했습니다.

예를 들어

$data = '바이두�텐센트,알리바바�;

$data1 // 출력시에는 '바이두�텐센트, 알리바바�

입니다.

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

인쇄 결과:
$data: string(24) "Baidu�Tencent, Alibaba"
$data1:string(22) "Baidu�Tencent, Alibaba"

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

결과 인쇄:
keywordsData:string(26) ""Baidu�Tencent, Alibaba""
keywordsData1:bool(false)

왜 그런가요? 변수를 직접 가져오고 싶은데 이런 문제가 발생했습니다. 답변 부탁드립니다. 감사합니다

大家讲道理大家讲道理2668일 전888

모든 응답(2)나는 대답할 것이다

  • phpcn_u1582

    phpcn_u15822017-05-31 10:35:23

    으아아아

    회신하다
    0
  • 習慣沉默

    習慣沉默2017-05-31 10:35:23

    두 변수는 모두 문자열이지만 하나의 길이는 24이고 다른 하나의 길이는 22입니다. 두 번째 변수는 분명히 UTF8로 인코딩되지 않았으므로 json_encode물론 잘못된 것입니다.

    먼저 문자열 인코딩을 확인할 수 있습니다, mb_detect_encoding,然后再转成UTF8,mb_convert_encoding.

    회신하다
    0
  • 취소회신하다