FAQ |
Kalender |
2009-04-02, 21:29 | #1 | ||
|
|||
Medlem
|
När man hämtar information ifrån en mysqldatabas, hur ska man göra för att kunna skriva ut åäö? Det fungerar oftast inte för mig och har aldrig förstått varför :S
har ju något med teckenkodning. Brukar fulhakka utf8_decode(), om inget annat hjälper. |
||
Svara med citat |
2009-04-02, 21:45 | #2 | ||
|
|||
Flitig postare
|
Spara filerna som UTF-8 utan BOM.
Sätt header("Content-type: text/html; charset=utf-8"); högst upp i index. Sätt mysql_query("SET NAMES UTF8"); efter att du skapat din databasanslutning. |
||
Svara med citat |
2009-04-02, 21:56 | #3 | ||
|
|||
Klarade millennium-buggen
|
Använder du MySQLi så fungerar: set_charset('utf8') på samma sätt som Rokkan1 skrev med "SET NAMES".
|
||
Svara med citat |
2009-04-03, 01:23 | #4 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
Kod:
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> Glöm inte heller att lagra datan i MySQL som UTF-8. Alternativt mysql_set_charset för vanliga MySQL (Rekomenderas av PHP's manual istället för SET NAMES's queryn.) Citat:
ELLER, om problemet fortfarande kvarstår KAN det vara en lösning att tvinga MySQL till att använda UTF-8 till "ALLT" Med tex: Kod:
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn); |
|||
Svara med citat |
2009-04-03, 08:18 | #5 | ||
|
|||
Supermoderator
|
Det står aldrig någonstans varför man inte ska använda SET NAMES i sin query? Vore intressant att veta. Däremot var det någon som försökt göra detta med arabiska tecken och det inte fungerat så det finns ju uppenbarligen någon nackdel med det.
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2009-04-03, 09:20 | #6 | ||
|
|||
Klarade millennium-buggen
|
Man använder kanske inte "set names" i varje fråg utan en gång när man skapar anslutningen. Behövs inte om servern är rätt konfigurerad från början, kolla genom att ställa frågan "SHOW VARIABLES LIKE 'char%';"
För korrekt presentation i browsern är det läge att skicka med rätt headers, i apache gör man det genom att sätta direktivet DefaultCharset i konfigureringen. |
||
Svara med citat |
2009-04-03, 09:27 | #7 | ||
|
|||
Supermoderator
|
Citat:
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2009-04-03, 10:59 | #8 | ||
|
|||
Klarade millennium-buggen
|
Missuppfattade dig, sorry.
|
||
Svara med citat |
2009-04-03, 20:45 | #9 | ||
|
|||
Medlem
|
tack ska ni ha. Äntligen! Har inte förstått det här innan. SET NAMES UTF8 är det samma som att typ ändra kollationeringen lr vad det heter på tabellerna?
|
||
Svara med citat |
2009-04-03, 22:26 | #10 | ||
|
|||
Klarade millennium-buggen
|
Citat:
|
||
Svara med citat |
Svara |
|
|