2014-03-27 2 views
0
$response="بسم الله الرحمن الرحيم";  
$string='{ 

    "something": "'.$response.'" 
}'; 

위의 json_decode 문자열을 해결하십시오. json_decode ($ string, true, JSON_UNESCAPED_UNICODE);를 시도해보십시오. 결과가 null입니다.json_decode에서 아랍어 텍스트를 은폐하는 방법

+0

PDO 주변의 JSON 래퍼 API는 어떤 종류입니까? 그냥 JSON 주입을 위해 SQL 주입을 대체하는 것 같습니다. – deceze

답변

1

아마도 json_decode는 아랍어 문자에 문제가있을 수 있습니다. 아랍어 텍스트를 디코딩 한 후 utf-8.if로 변환해야합니다. 아랍어 텍스트가 제대로 표시되면 결과를 얻을 수 있기를 바랍니다.

@header('Content-Type: text/html; charset=utf-8'); 


$response="بسم الله الرحمن الرحيم"; 

$response= iconv('windows-1256', 'utf-8', ($response)); 
$string='{ 

"something": "'.$response.'" 
}'; 

echo "Before Decode :"; 
var_dump($string); 

echo "After Decode :"; 
$json=json_decode($string); 
var_dump($json); 
0

DBMScharset을 필요에 맞는 것으로 변경해야합니다.

MySQLPHPMyAdmin을 사용한다고 가정하면 PHPMyAdmin 페이지로 이동하여 적절한 문자 세트를 선택해야합니다. 기본값은 내가 기억하는 한, UTF-8입니다.

+1

OP가 PhpMyAdmin을 사용하고 있다는 아이디어를 어디서 들었습니까? – deceze

+0

@deceze true :) 내 서버에'PHP'로 시작하는 것을 설치하지 않을 것입니다. 그리고 mysql cli는 완벽하게 괜찮습니다. – ElmoVanKielmo

관련 문제