Това всъщност няма значение. Когато json се декодира, те отново стават знаци.
Ако използвате php 5.4>=, можете да подадете JSON_UNESCAPED_UNICODE към json_encode :
json_encode( $data, JSON_UNESCAPED_UNICODE )
Но отново, екранирането на unicode работи също толкова добре и прави данните ascii безопасни.
Редактиране:
Изглежда, че вашите данни вече са били прецакани, дори преди json_encode . Изглежда сте го „кодирали двойно“ като utf-8.
Използвате ли нещо като utf8_encode ? Не е необходимо да правите нищо във вашия код, когато вмъквате във вашата база данни. Ако сте вмъкнали данните в базата данни с помощта на utf8_encode , тогава това обяснява двойното кодиране. Всичко, от което се нуждаете, е данните да са utf-8 и да имат mysql_set_charset( 'utf8' ) преди да поставите.
Интересно е да знаете, че ако вашият json има неекраниран уникод, json не може да бъде изпълнен като javascript
дори ако добавите скоби, ако json съдържа U+2028
или U+2029
.