sql >> Database teknologi >  >> RDS >> Mysql

Problemer med at indsætte utf-8 streng i databasen og derefter udskrive den til webside

Ja, det kan jeg.
Du fortalte ikke Mysql-serveren, hvilken datakodning du ønsker.
Mysql kan levere enhver kodning, hvis din sidekodning er forskellig fra lagret datakodning. Og omkode det med det samme.
Derfor skal det fortælles om klientens foretrukne kodning (din PHP-kode er databaseklienten).
Som standard er det latin1 . Derfor, fordi der ikke er sådanne symboler i latin1-tegntabellen, returneres spørgsmålstegn i stedet.

Der er 2 måder at fortælle mysql, hvilken kodning vi ønsker:

  • en lidt mere foretrukket er mysqli_set_charset() funktion (metode i dit tilfælde).
  • mindre foretrukket er SET NAMES forespørgsel.

Men så længe du bruger mysqli-udvidelsen korrekt, betyder det ikke rigtig noget. (selvom du ikke er det)

Bemærk, at i mysql kaldes denne kodning utf8 uden bindestreger eller mellemrum.



  1. Ukendt kolonne i feltlisten

  2. Sådan opretter du forbindelse til MySQL ved hjælp af Python

  3. Django forsøger at bruge forkert databasebruger

  4. Talk-dias:Partitioneringsforbedringer i PostgreSQL 11