To naprawdę nie ma znaczenia. Po zdekodowaniu json stają się ponownie znakami.
Jeśli używasz php 5.4>=, możesz przekazać JSON_UNESCAPED_UNICODE
do json_encode
:
json_encode( $data, JSON_UNESCAPED_UNICODE )
Ale znowu, kod ucieczki Unicode działa równie dobrze i sprawia, że dane ascii są bezpieczne.
Edycja:
Wygląda na to, że Twoje dane zostały już skręcone, jeszcze przed json_encode
. Wygląda na to, że "podwójnie zakodowałeś" go jako utf-8.
Czy używasz czegoś takiego jak utf8_encode
? ? Nie musisz nic robić w swoim kodzie podczas wstawiania do bazy danych. Jeśli wstawiłeś dane do bazy danych za pomocą utf8_encode
, to wyjaśnia podwójne kodowanie. Wszystko, czego potrzebujesz, to dane w formacie utf-8 i mysql_set_charset( 'utf8' )
przed włożeniem.
Warto wiedzieć, że jeśli twój json ma niezmieniony kod Unicode, json nie może być wykonany jako javascript
nawet jeśli dodasz nawiasy, jeśli json zawiera U+2028
lub U+2029
.