Permalänk
Medlem

Testa detta:

<?php $link = mysqli_connect('localhost', 'testare', 'testar', 'test'); $charset = mysqli_character_set_name($link); echo 'Databasen använder ', $charset; ?>

mysqli ska ju vara att föredra framför mysql vad jag har förstått.

Observera att resultatet av mysql_client_encoding() inte har något att göra med vilken encoding du har på dina filer; den rapporterar bara (och ibland felaktigt, enligt rapporter på PHP: mysql_client_encoding - Manual) vilken encoding kopplingen till databasen använder.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Testa detta:

<?php $link = mysqli_connect('localhost', 'testare', 'testar', 'test'); $charset = mysqli_character_set_name($link); echo 'Databasen använder ', $charset; ?>

mysqli ska ju vara att föredra framför mysql vad jag har förstått.

Observera att resultatet av mysql_client_encoding() inte har något att göra med vilken encoding du har på dina filer; den rapporterar bara (och ibland felaktigt, enligt rapporter på PHP: mysql_client_encoding - Manual) vilken encoding kopplingen till databasen använder.

Där glömde jag faktiskt mysqli, testade det, och får samma svar, latin1.

Mitt problem nu är att jag har konstaterat ett fel, men kan inte komma vidare.
Sitter fast i moment 22, kan alltså ej skapa html sidor som fungerar tillsammans med databasen så fort de innehåller

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

i ett ANSI dokument så blir det fel.
I ett UTF8 Dokument så fungerar ju inte det att lägga in värden i databasen.

Permalänk
Medlem

Att det blir fel i ett ANSI-dokument är givet, då meta-tagen säger att filen är kodad i utf-8 och innehållet är ANSI.

Lite grejer du kan testa:

<?php $link = mysqli_connect('localhost', 'testare', 'testar', 'test') or die('Koppling till databas kunde ej skapas!'); echo 'Charset innan ändring: ', mysqli_character_set_name($link); if (!mysqli_set_charset($link, 'utf8')) { echo 'Kunde inte ändra charset till utf8!'; } echo 'Charset efter ändring: ', mysqli_character_set_name($link); ?>

Rapportera plx

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Rapportera plx

Charset innan ändring: latin1Charset efter ändring: utf8

Svaret jag fick, ser ju bra ut i mina ögon !

(Filen är sparad i notepad ++ med UTF8 coding UTAN BOM)

Permalänk
Medlem
Skrivet av Ghosty:

Charset innan ändring: latin1Charset efter ändring: utf8

Svaret jag fick, ser ju bra ut i mina ögon !

(Filen är sparad i notepad ++ med UTF8 coding UTAN BOM)

I told you.

Visa signatur

POSTCARDS FROM ITALY

Permalänk
Medlem
Skrivet av ViLANDER:

I told you.

Nu är ju frågan hur går jag vidare med detta, jag förstår inte riktigt funktionen.
Antar att jag måste på något vis göra på liknande sätt vid varje anslutning till databasen, men fattar inte riktigt.

Permalänk
Medlem
Skrivet av Ghosty:

Nu är ju frågan hur går jag vidare med detta, jag förstår inte riktigt funktionen.
Antar att jag måste på något vis göra på liknande sätt vid varje anslutning till databasen, men fattar inte riktigt.

Varje gång du skapar en koppling så sätt charset på kopplingen till utf-8:

<?php $db = mysqli_connect('localhost', 'testare', 'testar', 'test') or die('Koppling till databas kunde ej skapas'); mysqli_set_charset($db, 'utf8') or die('Charset kunde inte ändras till UTF-8'); // övrig kod följer // ... ?>

Testa helt enkelt att lägga till raden mysqli_set_charset($db, 'utf8') or die('Charset kunde inte ändras till UTF-8'); direkt efter din anslutning. Gör sedan dina updates och se om det blir rätt.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Testa helt enkelt att lägga till raden mysqli_set_charset($db, 'utf8') or die('Charset kunde inte ändras till UTF-8'); direkt efter din anslutning. Gör sedan dina updates och se om det blir rätt.

Jag var lite blind i frustrationen över detta, det var nästan för enkelt
Har provat ut det nu och det har fungerat! (I den koden jag använt för att testa)

Imorgon skall jag prova det på mitt formulär! Kommer skriva här hur det har gått !
Tack för hjälpen hittils !

Permalänk
Medlem

Nu har jag fått chansen att prova detta på mitt riktiga formulär, och det har fungerat perfekt ! Tack till alla för hjälpen ! Nu hoppas jag på att det skall förbli bekymmersfritt.

Permalänk
Medlem
Skrivet av Teknocide:

Det kan hända att någon inställning på webservern omvandlar inkommande data till någon 8-bitars encoding, kolla upp det ifall ovanstående inte fungerar.

Jag använder WAMP, vad kan det vara för inställning som påverkar?

Permalänk
Medlem
Skrivet av Flakker:

Jag använder WAMP, vad kan det vara för inställning som påverkar?

Troligtvis fel encoding på din databas (utifrån vad jag läst tidigare i tråden)

Visa signatur

Kom-pa-TI-bilitet