Å, ä och ö finns i UTF-8. Använd funktionen utf8_encode för att konvertera en sträng från iso-8859-1 till utf-8. Därefter kan du använda htmlentities() för att översätta & m fl.
Jag har en php-fil som genererar en xml-fil i formatet utf-8, xml-filen måste ha formatet utf-8.
För att ersätta tecknen å, ä, ö och & använder jag följande kod
function fixname($fname){
$match = array('Å', 'Ä', 'Ö', 'å', 'ä', 'ö', '&');
$replace = array('a', 'a', 'o', 'a', 'a', 'o', '&');
return str_replace($match, $replace, $fname);
}
& verkar ersättas ok, jag testade även att lägga in ' ' respektive '_', så att mellanslag ersätts med understreck, och det fungerade fint.
Problemet är att å, ä och ö ersätts ej. När jag kollar xml-filen i IE så får jag felmeddelande och i FF så ersätts å, ä, och ö med ?. I källkoden ser det doch ut som det skall.
Antar att det har med att servern är inställd på en_US.iso88591.
Finns det någon som kan svara på vad man kan göra för att det skall ersättas?
// Fredrik

