'
Problemer med å få til ÆØÅ i html kode
Hei folkens.
Vi utvikler et helpdesk system på jobben for øyeblikket og er snart ferdig. Det vi nå har litt problemer med er som følger. Vi har PHP som gir en output til fremsiden med nyhetssaker. Her har vi endret sånn at ÆØÅ vises. Det som da skjer er at når vi gjør sånn at ÆØÅ i output her vises så vises ikke ÆØÅ i html koden i index fila. Fjerner vi at ÆØÅ vises i php output'n så vises ÆØÅ i html koden. Kode:
<!doctype html> Kode:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> Ha en fin dag videre. |
jeg skjønner ikke hva du lurer på. Kan du prøve å omformulere deg?
|
Vi har en fil som heter publish-news.php, publish-news-form.php og list-news.php.
Publish-news.php fungerer med ÆØÅ da ÆØÅ vises i databasen, men når list-news.php skal output'e dette til index fila som har koden: Kode:
<div class="nyheter"> Har nå satt sånn at vanlig ren tekst i HTML viser ÆØÅ, men php viser ikke ÆØÅ på nettsiden. Det er her problemet ligger. |
Skjønner fortsatt ikke hva du mener.
Outputen din burde se ut som dette: Kode:
Kode: |
ok.
Skal prøve å forklare IGJEN. Index.php starter med Kode:
<!doctype html> MEN, så har vi list-news.php som skal vise nyheter på framsiden. Her vises ikke ÆØÅ, men heller svarte spørsmålstegn. Legger jeg inn: Kode:
header('Content-type: text/html; charset=ISO-8859-1'); Enten så får jeg html til å vise ÆØÅ eller php, vi får IKKE til at HTML og php viser ÆØÅ sammen. Forklarte jeg bedre nå? |
Til tross for dårlig forklaring vil jeg tippe at du lagrer data som ISO-8859-1 i databasen din.
Sørg for å bruke UTF-8 overalt i kjeden, så skal alt fungere fint. |
Det er bare UTF-8 som står i filene nå, og i databasen står den også på UTF-8 og ikke ISO-8859-1. Men det fungerer ikke.
http://imgur.com/aUxMv1W Her ser dere bilde av hvordan det ser ut nå. "Generelle spørsmål og svar" fungerer med ÆØÅ, men som dere ser så fungerer ikke php output'n. |
Kan det være at noe har gått skeis med encodingen da du skrev innholdet til databasen? For eksempel at det du skrev til databasen var fra et HTML-form encodet som ISO-8859-1? Om du har oppdatert encoding til UTF-8 i noe ledd etter informasjonen du nå leser ut ble skrevet inn, så kan det være verdt et forsøk å poste informasjonen til databasen på nytt.
|
Jeg legger ut en ny nyhetssak opp mot databasen etter hver endring, så det skal ikke være noe galt der.
Kode:
<?php Kode:
<?php |
Prøv å endre encodingen i php filen til UTF-8-BOM om du har notepad++.
Vet ikke hva den gjør, men det har løst slike problemer for meg når jeg har skrevet tekst i selve filen med æ ø å. |
Det fungerte ikke dessverre =/
|
Har du prøvd noe sånt som f.eks:
Kode:
echo '<pre>' . print_r($row, TRUE) . '</pre>'; |
Kode:
mysqli_set_charset($link ,"utf8"); |
En løsning/hack er å replace «æ», «ø» og «å» med «æ», «ø», og «å» før du lagrer den i databasen.
Kode:
<?php |
Sitat:
|
Hei folkens.
Etter en pause tenkte jeg å teste igjen. Har nå prøvd ALLE muligheter her nå uten at det gir meg mulighet til å se Æ Ø Å i dette feltet. Får fortsatt bare svarte spørsmålstegn. Sitat:
Så ikke siste meldingen fra deg Provo. htmlentities fungerer :) Da er det faktisk i orden. Litt mer jobb enn jeg har gjort tidligere da jeg ALDRI har hatt problemer med ÆØÅ tidligere. Men takk for hjelpa til alle sammen. Da kan vi presentere jobben i morgen. |
Fint at du fikk løst det. :)
Hadde samme problem for en stund tilbake siden da jeg hadde en gammel database hvor tekst hadde blitt lagret i ISO-8859-1. Tror sql-serveren allikevel sendte ut tekst i UTF-8 format til PHP. Det som hjalp meg var å legge inn følgenede i "bootstrapperen": Kode:
mysql_query("SET NAMES 'latin1'"); |
Jeg har hatt problemer med det samme, og fikk løst det ved å endre encodingen for filen.
Slik fikser man det i notepad++: http://imgur.com/a/3NEMJ |
Sitat:
Her er info om korleis du set det om du bruker php+mysqli. |
Alle tidspunkt er GMT +2. Klokken er nå 06:33. |