PHP skriver inte ut å, ä, ö

Trädvy Permalänk
Medlem
Plats
Växjö
Registrerad
Dec 2004

PHP skriver inte ut å, ä, ö

Jag hämtar info från en databas, och skriver ut den med tex

while($row = mysqli_fetch_array($result)) $row2['namn'];

Då ser det ut såhär:

�rjan (Örjan)

I databasen är det lagrat korrekt, dvs med Ö och inte �. (kolumnen har attribut latin1_swedish_ci)

Trädvy Permalänk
Medlem
Plats
/home
Registrerad
Apr 2010

Xeon
GTX
4K

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jan 2004
Skrivet av RobinJacobsson:

I databasen är det lagrat korrekt, dvs med Ö och inte �. (kolumnen har attribut latin1_swedish_ci)

Har du korrekt teckenkodning satt i HTML-META?
https://webdesignskolan.se/html/teckenkoder/teckenkoder_chars...

Trädvy Permalänk
Medlem
Plats
Växjö
Registrerad
Dec 2004

Tack för svaren, men inget funkar. Har även testat att spara min .php fil som UTF-8.

Även detta i min fil (innan det som skrivs ut givetvis)

<html> <meta charset="utf-8">

Trädvy Permalänk
Entusiast
Testpilot
Plats
Göteborg
Registrerad
Aug 2011
Skrivet av RobinJacobsson:

Tack för svaren, men inget funkar. Har även testat att spara min .php fil som UTF-8.

Även detta i min fil (innan det som skrivs ut givetvis)

<html> <meta charset="utf-8">

Funkar ÅÄÖ om du tar bort all PHP-kod och bara serverar ren HTML?

Kan du ha sparat filen med/utan BOM? Prova det andra.

Rekommenderar även att lägga in <!DOCTYPE html> allra högst upp.

Skrivet med hjälp av Better SweClockers

Trädvy Permalänk
Medlem
Plats
Finland
Registrerad
Mar 2012

Hej, pröva detta:
mysqli_set_charset($con,"utf8"); // sätt detta före du går igenom resultaten

// skrivet på paddan så stavfel kan finnas

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jan 2004
Skrivet av RobinJacobsson:

Tack för svaren, men inget funkar. Har även testat att spara min .php fil som UTF-8.

Även detta i min fil (innan det som skrivs ut givetvis)

<html> <meta charset="utf-8">

Jag tror(!) inte att MySQLs "latin1_swedish_ci" motsvarar "UTF-8".

Trädvy Permalänk
Medlem
Registrerad
Mar 2015
Skrivet av iXam:

Jag tror(!) inte att MySQLs "latin1_swedish_ci" motsvarar "UTF-8".

nej det är väl gamla 1252?

Trädvy Permalänk
Medlem
Plats
Finland
Registrerad
Mar 2012
Skrivet av RobinJacobsson:

Jag hämtar info från en databas, och skriver ut den med tex

while($row = mysqli_fetch_array($result)) $row2['namn'];

Då ser det ut såhär:

�rjan (Örjan)

I databasen är det lagrat korrekt, dvs med Ö och inte �. (kolumnen har attribut latin1_swedish_ci)

Löste sig problemet? Om det löste sig så hur löste du saken? Tänker mest ifall någon i framtiden har samma problem och kollar igenom tråden

Trädvy Permalänk
Medlem
Plats
Växjö
Registrerad
Dec 2004
Skrivet av Simppan:

Hej, pröva detta:
mysqli_set_charset($con,"utf8"); // sätt detta före du går igenom resultaten

// skrivet på paddan så stavfel kan finnas

Skrivet av Simppan:

Löste sig problemet? Om det löste sig så hur löste du saken? Tänker mest ifall någon i framtiden har samma problem och kollar igenom tråden

Ursäkta, har haft lite att göra! Där hade vi lösningen, men jag måste sätta det efter varje $sql anrop.

Trädvy Permalänk
Medlem
Plats
Karlskrona
Registrerad
Aug 2009

Encoding i PHP kan vara lite spännande om det väl blir fel och man skall hitta det.
Om jag påbörjar något nytt så ser jag i princip alltid till att alla filer encodas i UTF-8, eventuella mysql databaser är satta till utf8_unicode_ci.

Asus Zenith Extreme | 32gb DDR4 3200MHZ CL14 | Threadripper 1950X | 1080Ti
Asus Z97 Pro Gamer | 32gb ram DDR3 2400MHz | i7 4790k | 2 x R9 390 - Barnen fått ta över
Asrock P67 Extreme4 rev3 | 16gb DDR3 2400MHz | i7 2600K | R9 290 - Barnen fått ta över
En massa bärbara, servrar, RPi's och andra boxar