sql >> Databasteknik >  >> RDS >> Mysql

Problem med JSON-utgångsaccenter

Det spelar egentligen ingen roll. När json är avkodad blir de tecken igen.

Om du använder php 5.4>=kan du skicka JSON_UNESCAPED_UNICODE till json_encode :

json_encode( $data, JSON_UNESCAPED_UNICODE )

Men återigen, unicode-escapes fungerar lika bra och gör data ascii säker.

Redigera:

Det verkar som att din data redan var skruvad, även före json_encode . Du har "dubbelkodat" det som utf-8 det verkar.

Använder du något som utf8_encode ? Du behöver inte göra något i din kod när du infogar i din databas. Om du infogade data i databasen med utf8_encode , då förklarar det den dubbla kodningen. Allt du behöver är att data ska vara utf-8 och ha mysql_set_charset( 'utf8' ) innan du sätter in.

Det är intressant att veta att om din json har unescaped unicode, kan json inte köras som javascript även om du lägger till parenteser om json innehåller U+2028 eller U+2029 .




  1. Hur man kör Raw SQL i SQLAlchemy

  2. Hämta DB-ägarens namn i PostgreSql

  3. Skapa en beräknad kolumn baserad på en annan kolumn i MySQL

  4. MySQL backup databas