sql >> Database >  >> RDS >> Mysql

Probleem met JSON-uitvoeraccenten

Dat maakt niet echt uit. Wanneer de json wordt gedecodeerd, worden ze weer karakters.

Als je php 5.4>=gebruikt, kun je JSON_UNESCAPED_UNICODE doorgeven naar json_encode :

json_encode( $data, JSON_UNESCAPED_UNICODE )

Maar nogmaals, de unicode-escapes werken net zo goed en maken de gegevens veilig.

Bewerken:

Het lijkt erop dat uw gegevens al waren verknoeid, zelfs vóór json_encode . Je hebt het "dubbel gecodeerd" als utf-8 lijkt het.

Gebruik je zoiets als utf8_encode ? U hoeft niets in uw code te doen wanneer u deze in uw database invoegt. Als u de gegevens in de database hebt ingevoerd met behulp van utf8_encode , dan verklaart dat de dubbele codering. Het enige dat u nodig hebt, is dat de gegevens utf-8 zijn en mysql_set_charset( 'utf8' ) hebben voor het invoegen.

Het is interessant om te weten dat als uw json unescaped unicode heeft, de json niet kan worden uitgevoerd als javascript zelfs als u haakjes toevoegt als de json U+2028 of U+2029 .




  1. De beste manier om een ​​gewogen zoekopdracht uit te voeren over meerdere velden in mysql?

  2. Is er een eenvoudig pagineringsraamwerk voor php dat gemakkelijk kan worden geïmplementeerd?

  3. Alle resultaten in postgresql weergeven?

  4. Fix 'De applicatie "SQLDeveloper.app" kan niet worden geopend.'