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

Får mærkelige tegn, når der hentes værdi i mysql-databasen

Jeg bemærker, at du kører denne forespørgsel... mysql_query('SET CHARACTER SET utf8');
Prøv at ændre det til dette...

mysql_query("SET NAMES 'utf8'");

Det skulle sikre, at forbindelsen er UTF-8.

Prøv også at gennemgå listen over emner i denne artikel... http:/ /blog.loftdigital.com/blog/php-utf-8-cheatsheet
Dette viser de trin, der er nødvendige for at sikre, at du bruger UTF-8 fra forsiden til bagsiden på dit websted/din applikation, men kort fortalt:

  • Tjek, at du har PHP's mbstring-udvidelse, og at du har mb_internal_encoding('UTF-8'); indstilles i dit script.
  • Sørg for, at du kører denne MySQL-forespørgsel efter at have oprettet forbindelse til din database mysql_query("SET NAMES 'utf8'"); som sikrer, at forbindelsen er UTF-8.
  • Indstil HTTP-headeren for dit output... header('Content-type: text/html; charset=UTF-8'); . Dette ser ikke ud til at være nødvendigt, hvis du har indstillet mb_internal_encoding() ovenfor, men nyttig til fejlretning
  • Sørg for, at output-kodningen af ​​din HTML-side er indstillet... <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


  1. MySql, opdel en streng og indsæt i tabellen

  2. Homebrew postgres knækket

  3. Noget hurtigere end get_headers()

  4. Håndtering af langsomme forespørgsler med PostgreSQL