sql >> Database >  >> RDS >> Mysql

Arabische teksten in php/mysql verschijnen soms "???" en soms verschijnen Ùؤتا na select/insert statement

مؤتا is Mojibake voor مؤتا :

  • De bytes die je in de client hebt, zijn correct gecodeerd in utf8 (goed).
  • Je hebt verbinding gemaakt met SET NAMES latin1 (of set_charset('latin1') of ...), waarschijnlijk standaard. (Het had utf8 moeten zijn .)
  • De kolom in de tabellen kan al dan niet CHARACTER SET utf8 zijn geweest , maar dat had het moeten zijn.

لاعب kan een "dubbele codering" zijn -- vermijd dat pad.

"ATX ??????????" --

utf8 moet op ongeveer 4 plaatsen worden gevestigd.

  • De kolom(men) in de database -- Gebruik SHOW CREATE TABLE om te controleren of ze expliciet zijn ingesteld op utf8, of standaard zijn opgegeven in de tabeldefinitie. (Het is niet voldoende om de database standaard te wijzigen .)
  • De verbinding tussen de client en de server. Zie SET NAMES utf8 .
  • De bytes die je hebt. (Dit is waarschijnlijk het geval.)
  • Als u de tekst op een webpagina weergeeft, controleert u de <meta> tag.

Zie ook UTF-8 helemaal



  1. Wat is het semantische verschil tussen WAAR en HEBBEN?

  2. Hoe AT TIME ZONE werkt in PostgreSQL

  3. één verbinding met DB behouden of per behoefte openen sluiten

  4. Hoe kan ik een rollback detecteren in de MySQL-opgeslagen procedure?