Это кувалдный подход к замене необработанного UNICODE на HTML. Я не видел другого места, где можно было бы найти это решение, но я предполагаю, что у других была эта проблема.
Примените эту функцию str_replace к RAW JSON , прежде чем делать что-либо
еще.
function unicode2html($str){
$i=65535;
while($i>0){
$hex=dechex($i);
$str=str_replace("\u$hex","&#$i;",$str);
$i--;
}
return $str;
}
Это не займет много времени, как вы думаете, и заменит ЛЮБОЙ юникод на HTML.
Конечно, это можно уменьшить, если вы знаете типы юникода, которые возвращаются в JSON.
Например, мой код получал много стрелок и юникод дингбата.
Это между 8448 и 11263. Мой производственный код выглядит так:
$i=11263;
while($i>08448){
...etc...
Вы можете посмотреть блоки Unicode по типу здесь:
http://unicode -table.com / о /
Если вы знаете, что переводите на арабский или телегу или что-то еще, вы можете просто заменить эти коды, а не все 65 000.
Вы можете применить эту же кувалду к простой кодировке:
$str=str_replace("\u$hex",chr($i),$str);