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

Der er symboler som  og så videre i databasen, hvad skal man gøre?

Det kommer lidt an på, hvad problemet faktisk er...

Hvis det er, at disse karakterer formodes for at være der (såsom "Mañana" på spansk), så skal du sikre dig, at alt er i UTF-8... den bedste måde er at:

1:Kontroller, at databasetabellerne er i "utf-8"-kodning (hvis ikke konverter dem til utf-8)

2:som Martin bemærkede, sørg for, at databaseforbindelsen er utf-8 ved at bruge noget som:

mysql_set_charset('utf8'); //note that MySQL uses no hyphen here

3:sørg for, at dokumentet er utf-8 (du kan tilføje en overskrift øverst)

<?php header('Content-type:text/html;charset=utf-8'); ?>

4:For at være på den sikre side skal du også tilføje det som et metatag

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

DOG

Det er meget muligt, at du har nogle duff-tegn i databasen, hvor noget som ISO-8859-1 er blevet jongleret til UTF-8, dårligt. I dette tilfælde vil du bemærke ting som £ hvor det, du rent faktisk ønsker, er £ (fordi UTF-8-tegn indeholder flere data end ISO-8859-1-tegn, kan de ekstra data blive et ekstra tegn, hvis du ikke er forsigtig).

I så fald er dit bedste bud at rense databasen (du kunne sandsynligvis gøre noget som UPDATE table SET field = REPLACE(field, '£', '£') for almindelige "fejl") og konverter derefter hele kaboodlen til UTF-8 (som beskrevet ovenfor) for at undgå, at problemet opstår igen.



  1. Når der ikke er angivet nogen 'Bestil efter', hvilken rækkefølge vælger en forespørgsel for dit rekordsæt?

  2. _gc_fusion_compression

  3. Opretter en UNIK begrænsning automatisk et INDEKS på feltet/felterne?

  4. Sådan fungerer Degrees()-funktionen i PostgreSQL