Tôi đang cố mã hóa mảng Cyrillic UTF-8 thành chuỗi JSON bằng hàm json_encode của php. Mẫu mã trông như thế này:Ký tự Cyrillic trong json_encode của PHP
<?php
$arr = array(
'едно' => 'първи',
'две' => 'втори'
);
$str = json_encode($arr);
echo $str;
?>
Nó hoạt động tốt nhưng kết quả của kịch bản được biểu diễn dưới dạng:
{"\u0435\u0434\u043d\u043e":"\u043f\u044a\u0440\u0432\u0438","\u0434\u0432\u0435":"\u0432\u0442\u043e\u0440\u0438"}
mà làm cho 6 ký tự cho mỗi nhân vật Cyrillic. Có cách nào để có được các ký tự ban đầu cho các cặp khóa/giá trị thay vì các cặp mã hóa/giá trị không?
Như bạn echo chuỗi, tôi giả sử này wents vào một HTTP response.Mã hóa nào đáp ứng bằng cách sử dụng? Để mã hóa ký tự hợp lệ, vui lòng xem http://json.org/. – hakre
hi try this $ str = json_encode ($ json, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE); –