petterg Skrevet 4. november 2004 Del Skrevet 4. november 2004 fwrite($filehandler, "1æ2ø3å4"); blir til 1æ2ø3Ã¥4 i fila. Hva er løsningen på dette? Lenke til kommentar
Lokaltog Skrevet 4. november 2004 Del Skrevet 4. november 2004 Dette er vel en feil som oppstår om du leser fila på et system som er konfigurert til å vise filer med UTF-8-tegnsett. Dette tegnsettet har ikke æ, ø eller å. Jeg tror dette er en feil som oppstår i selve programmet, og ikke under skriveoperasjonen. Jeg tror. Lenke til kommentar
Loomy Skrevet 4. november 2004 Del Skrevet 4. november 2004 Vil det ikke hjelpe å kjøre en htmlspecialchars() på stringen før du legger den inn? Lenke til kommentar
???????? Skrevet 5. november 2004 Del Skrevet 5. november 2004 Hvilket språk er det på OS'et? Lenke til kommentar
Torbjørn Skrevet 5. november 2004 Del Skrevet 5. november 2004 hvis det er din egen server, så let etter AddDefaultCharSet i httpd.conf, og inspiser filen /etc/sysconfig/i18n i den siste står det sannsynligvis mye UTF-8. Lenke til kommentar
petterg Skrevet 5. november 2004 Forfatter Del Skrevet 5. november 2004 (endret) Har ikke opplevd tilsvarende problem med andre programmer som lagrer filer på samme system. Tror det er apache / php relatert. htmlspecialchars() hjalp ingenting. OS'et er engelsk. Kjerna er kompilert med ISO-8859-15 som standard tegnsett. Det takler at jeg skriver æøå via ssh, men jeg har ikke æøå om jeg sitter på maskina - men bortsett fra de tre tegnene er tastaturet norsk også der! Jeg har aldri endret noe tegnsett instillinger på apache, så det er sikkert engelsk. Utsnitt fra apache2.conf (som tilsvarer http.conf på bl.a. redhat) AddDefaultCharset ISO-8859-1 AddCharset ISO-8859-1 .iso8859-1 .latin1 AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen AddCharset ISO-8859-3 .iso8859-3 .latin3 AddCharset ISO-8859-4 .iso8859-4 .latin4 AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk AddCharset ISO-2022-JP .iso2022-jp .jis AddCharset ISO-2022-KR .iso2022-kr .kis AddCharset ISO-2022-CN .iso2022-cn .cis AddCharset Big5 .Big5 .big5 AddCharset WINDOWS-1251 .cp-1251 .win-1251 AddCharset CP866 .cp866 AddCharset KOI8-r .koi8-r .koi8-ru AddCharset KOI8-ru .koi8-uk .ua AddCharset ISO-10646-UCS-2 .ucs2 AddCharset ISO-10646-UCS-4 .ucs4 AddCharset UTF-8 .utf8 AddCharset GB2312 .gb2312 .gb AddCharset utf-7 .utf7 AddCharset utf-8 .utf8 AddCharset big5 .big5 .b5 AddCharset EUC-TW .euc-tw AddCharset EUC-JP .euc-jp AddCharset EUC-KR .euc-kr AddCharset shift_jis .sjis Den legger altså ikke til ISO-8859-15 som er den som brukes i kjerna. Den har også utf-8 stående der. Prøver å legge til AddCharset ISO-8859-15 .iso8859-15 .latin15 men da vil ikke apache starte! Edit: Når scriptet kjøres fra shell skriver den riktig til fil. Da er det nok apache config som er problemet. (Har postet i feil forum, men lar tråden fortsette her.) Endret 5. november 2004 av petterg Lenke til kommentar
Torbjørn Skrevet 5. november 2004 Del Skrevet 5. november 2004 har du ikke AddDefaultChatset linje noe sted? meg vitende har ikke kjernekompilering noe å si for dette. charset ligger utenfor. hva har du i /etc/sysconfig/i18n da? Lenke til kommentar
petterg Skrevet 5. november 2004 Forfatter Del Skrevet 5. november 2004 (endret) har du ikke AddDefaultChatset linje noe sted? meg vitende har ikke kjernekompilering noe å si for dette. charset ligger utenfor. hva har du i /etc/sysconfig/i18n da? De tidligere postede linjer var resultat av cat /etc/apache2/* |grep "CharSet" Lite som tyder på at jeg har noe AddDefaultCharSet har ikke noe fil som heter i18n. Heller ingen mappe som heter sysconfig. Kan det være /etc/rc.conf ? den ser hvertfall slik ut: (strippet for linjer som er kommentert bort) KEYMAP="no" SET_WINDOWKEYS="yes" EXTENDED_KEYMAPS= CONSOLEFONT="lat0-16" CLOCK="local" EDITOR="/bin/nano" PROTOCOLS="1 2" Endret 5. november 2004 av petterg Lenke til kommentar
RipZ- Skrevet 5. november 2004 Del Skrevet 5. november 2004 Det kan være som lokaltog sier programmet du kjører. Om du har UTF-8 på som default kan det være at tekstfiler o.l vil prøve å printes som UTF-8. Om du sender med tegnsett i headeren vil sikkert probelemet bli fikset. Du kan for sikkerhetsskyld se i kidekoden til fila de (høres dumt ut, men prøv) og se om det står riktig der. Lenke til kommentar
petterg Skrevet 5. november 2004 Forfatter Del Skrevet 5. november 2004 Hvordan sender jeg header med tegnsett i forbindelse med skriving til lokal disk? Aldri hørt at man bruker headere i tekstfiler noen gang. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå