Permalänk

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)

Permalänk
Medlem
Visa signatur

Mac Mini M2 Pro
5K

Permalänk
Medlem
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...

Permalänk

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">

Permalänk
99:e percentilen
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.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem

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

Permalänk
Medlem
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".

Permalänk
Medlem
Skrivet av iXam:

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

nej det är väl gamla 1252?

Permalänk
Medlem
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

Permalänk
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.

Permalänk
Medlem

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.

Visa signatur

Huvudriggen är en Gigabyte Aorus Xtreme | 128gb DDR5 6000 | Ryzen 7950X | 3080Ti
Utöver det är det för många datorer, boxar och servar för att lista :P