webForumDet fria alternativet

Svenska tecken från PHP

12 svar · 1 220 visningar · startad av Mungo

MungoMedlem sedan jan. 2000372 inlägg
#1

Jo,
detta är en fråga som gäller PHP och Flash... Jag ska hämta in lite text från externa variabler som genereras av ett php-script, men problemet är att svenska tecken inte kommer in på rätt sätt.

Ja, jag har testat med htmlspecialchars() och urlencode(), inget av dem funkar. ÅÄÖ/åäö blir små fyrkanter och slarvar till hela strängen.

Jag misstänker att man på nåt sätt måste tala om vilket charset man använder sig av, men header("Content-type: text/plain; charset: ISO-8859-1"); funkade inte heller.

Värt att notera är kanske att det funkar prima att hämta in ÅÄÖ om jag använder en vanlig textfil istället!

Nån som vet vad detta beror på? Tacksam för all hjälp!

Mika3lMedlem sedan nov. 20018 492 inlägg
#2

Jag tror väl inte att det är något problem i Flash men testa att lägga in System.UseCodePage = True.

RödalacketMedlem sedan feb. 20002 612 inlägg
#3

Skriv
System.useCodepage = true; i första framen.

MungoMedlem sedan jan. 2000372 inlägg
#4

Tack för tipsen! Det funkar fint under Windows, men på Mac blir det fortfarande fel tecken? Använder urlencode()...

MickeA.comMedlem sedan feb. 20034 441 inlägg
#5

htmlText.escape(dinsträng); får du ha på den frame din textruta ligger på i Flash.

Du måste se till att ALL text är HELT inladdad inna detta körs.

MungoMedlem sedan jan. 2000372 inlägg
#6

Jag fick faktiskt hjälp på ett annat forum, lösningen var att utf8-koda alla strängar i PHP och ta bort System.useCodepage = true från Flash. Men tack ändå!

MickeA.comMedlem sedan feb. 20034 441 inlägg
#7

system.usecodepage = true; ska man undvika så mkt man kan, det kryllar nämligen av buggar o skit.

bättre som du löst det, koda om utanför sen "koda tillbaka" inne i flash.

nilsMedlem sedan mars 20032 inlägg
#8

tjabba hej

har samma problem med åäö, undrar vad ni mena med "utf8-koda"?

mvh nils

MungoMedlem sedan jan. 2000372 inlägg
#9

kolla upp utf8_encode() och utf8_decode() i PHP-manualen.

kittlosMedlem sedan sep. 2002205 inlägg
#10

Jag har samma problem men inte möjlighet att ändra encodingen. Det funkar i flash 6 med system.usecodepage = true; - men inte i flash 8 (som jag vill använda)
Ngn som vet hur jag kan göra?

mirandirMedlem sedan maj 2003750 inlägg
#11

Sedan Flash 7 skiljer Actionsceipt på små och stora bokstäver. Så du måste vara noga med versaler och gemener.

För att det skall vara korrekt så skall det vara stort S i "System" och stort C i "useCodepage".

System.useCodepage = true;

/Mirandir

BlixtsystemsMedlem sedan maj 2005704 inlägg
#12

kittlos skrev:

Jag har samma problem men inte möjlighet att ändra encodingen. Det funkar i flash 6 med system.usecodepage = true; - men inte i flash 8 (som jag vill använda)
Ngn som vet hur jag kan göra?

Hur kommer det sig att du inte kan ändra encoding?
Jag förmodar att det är filer du inte själv har kontroll över...I sådana fall finns det inte mycket annat att göra än att köra med useCodepage.
Annars bör du undvika det om du vill att alla skall se din sida korrekt:
http://www.sephiroth.it/phpwiki/index.php?title=Kill_System.usecodepage

kittlosMedlem sedan sep. 2002205 inlägg
#13

Ah, stort S i system hjälpte.

Nej, det är tydligen en för stor apparat att ändra encodingen, det är ett ganska omfattande system.

135 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)