![]() |
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. |
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. |
Använder du MySQLi så fungerar: set_charset('utf8') på samma sätt som Rokkan1 skrev med "SET NAMES".
|
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', |
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.
|
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. |
Citat:
|
Missuppfattade dig, sorry.
|
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?
|
Citat:
|
Alla tider är GMT +2. Klockan är nu 22:01. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson