Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Problem z akcentami wyjściowymi JSON

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 .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pytasz o rzeczy w pobliżu geolokalizacji?

  2. Jak uciec przed słowami zastrzeżonymi używanymi jako nazwy kolumn? MySQL/Utwórz tabelę

  3. Jak utworzyć bazę danych MySQL za pomocą interfejsu API cPanel

  4. Jak usunąć dwie zduplikowane kolumny?

  5. Tablica obiektów zbudowana z formatu JSON nie wyświetla się na mojej mapie Google