29. juli 2013 - 20:00Der er
12 kommentarer og 1 løsning
Problem med forbindelsetegnsæt til mysql
Hej,
Jeg har problemer med visning af æøå ved udtræk fra mysql. Jeg er derfor nu igang med et forsøg på at få løst dette tilbagevendende problem. Jeg har lavet helt skrabet kode:
$qry = mysqli_query($dbc_k, "SELECT Noget FROM A WHERE B");
while ($row = mysqli_fetch_array($qry)) { echo $row['Noget'].'<br />'; }
?>
Filen er skrevet i Notepad++ og gemmes som UTF-8 uden BOM. Uploades og æøå fra udtrækket vises korrekt, men i teksten "rød æble fløde" vises æøå som æ ø Ã¥.
inden scriptet vises æøå som spørgsmålstegn (jeg bruger FireFox) i udtrækket med korrekt i teksten "rød æble fløde".
Via phpadmin er mysql sat op til: Servers forbindelsestegnsæt utf8_danish_ci (utf8_general_ci og utf8_unicode_ci er også forsøgt) Tegnsæt på tabellerne er utf8_danish_ci
Har selv prøvet noget lignende, det var godt nok ikke med en database, men istedet med en $_GET. Der hjalp det med utf8_encode(string)
Altså udskift dette: while ($row = mysqli_fetch_array($qry)) { echo $row['Noget'].'<br />'; } Med dette: while ($row = mysqli_fetch_array($qry)) { echo utf8_encode($row['Noget']).'<br />'; }
og se om det hjælper. Har du forresten også tjekket inputtet i PHPMyAdmin og set om det også bliver vist forkert der? For så er der nok gået noget galt da du satte det ind..
arne_v: Hvordan kan jeg se hvilke HTTP header der sendes fra serveren.
header('Content-Type: text/html; charset=UTF-8'); giver samme resultat som <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />: Rød æble fløde vises fint, udtrækket stadig med spørgsmålstegn.
$dbc_k = mysqli_connect('xxx.surf-town.net', 'xxx', 'xxx', 'xxx'); mysqli_query("SET NAMES 'utf-8'"); $qry = mysqli_query($dbc_k, "SELECT Noget FROM A WHERE B");
while ($row = mysqli_fetch_array($qry)) { echo $row['Noget'].'<br />'; }
?>
Hvilket stadig ikke giver korrekt udtræk fra mysql. Ændrer jeg charset="iso-8859-1" er udtræk MED æøå, men rød æble fløde vises som rød æble fløde.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.