WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Problem med formulär vid UTF-8 (https://www.wn.se/forum/showthread.php?t=10431)

Neo 2005-10-19 22:23

Jag har ett formulär i ett UTF-8-kodat dokument. Mitt problem är att när jag postar en text i formuläret blir det fel med icke UTF-8 bokstäver (t.ex. åäö). å ä ö blir : Ã¥ ä ö.

Någon idé om hur man kan lösa detta?

Försökte lägga till accept-charset="iso-8859-1" i <form>-taggen, utan resultat.


Edit: Glömde säga att det är PHP jag leker med.

Neo 2005-10-19 22:29

... löste det själv.

http://se.php.net/utf8-decode

zoran 2005-10-20 08:15

Citat:

Originally posted by Neo@Oct 19 2005, 22:29
... löste det själv.

http://se.php.net/utf8-decode

Det låter som en dålig lösning tycker jag. Du får dokumentet i UTF-8 som jag förstår. UTF-8 har stöd för "svenska bokstäver". Vad gör du med datat du får från formen? Om du lagrar den i MySQL, så är det kanske värt att tänka på att du behöver en alter database default character set utf8; samt alter table default character set utf8;

Med andra ord, sparar du ditt data också som utf8.

Jag tycker UTF-8 är enda sanna vägen att skapa webbsidor i. Det ger ju stöd för internationalisering i framtiden utan att man behöver byta.

Jonas 2005-10-20 09:37

Varför inte omvandla ÅÄÖ till &Aring; &Auml; &Ouml; ? eller rent utav
Kod:

<?
function fix_swe($content)
{
        $swe_in = array('ö','Ö','ä','Ä','å','Å');
//        $swe_out = array('&ouml;','&Ouml;','&auml;','&Auml;','&aring;','&Aring;');
        $swe_out = array('ö','Ö','ä','Ä','å','Å');
        return str_replace($swe_in,$swe_out,$content);
}
?>


zoran 2005-10-20 10:27

Citat:

Originally posted by Jonas@Oct 20 2005, 09:37
Varför inte omvandla ÅÄÖ till &Aring; &Auml; &Ouml; ? eller rent utav
Kod:

<?
function fix_swe($content)
{
        $swe_in = array('ö','Ö','ä','Ä','å','Å');
//        $swe_out = array('&ouml;','&Ouml;','&auml;','&Auml;','&aring;','&Aring;');
        $swe_out = array('ö','Ö','ä','Ä','å','Å');
        return str_replace($swe_in,$swe_out,$content);
}
?>


För att det är workarround för trasiga webservrar och trasig applikationer?


Alla tider är GMT +2. Klockan är nu 05:56.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson