View previous topic :: View next topic |
Author |
Message |
andip Tux's lil' helper
Joined: 18 Jun 2002 Posts: 116 Location: .no
|
Posted: Mon Aug 31, 2009 8:07 am Post subject: (Resolved) tegn (char) problemer |
|
|
Heisan,
Jeg har for litt siden installert(?) noe som heter ipplan. Det er en php-frontend til web-server som passer på ip-adresser, samt et par andre funksjoner.
Jeg prøver å "importere" ip-data fra en excel regneark, inn i denne php-frontend, men har problemer med norske tegn (æøå). Jeg editerer og sorterer og litt sånt i excel, før jeg lagrer det hele som en <TAB>-delimert text-fil, som så importeres inn i denne php-tingen, som bruker mysql databaser for å lagre.
Alt ser fint ut i excel, og etter lagring så ser alt også finfint ut dersom jeg ser på text-fila med "more", eller open office spreadsheet. Om jeg ser på fila med "less", så ser det helt galt ut. Eksempler :
More : Østgård skole
Less : <D8>stg<E5>rd skole
Når jeg importerer textfila til mysql-basen/php-frontend, så forsvinner bare alt bak første spesial-tegn. Så "Østgård skole" som vist ovenfor blir bare borte, mens "Brårud skole" blir bare "Br".
Er det noen som har en anelse om hva som kan være galt, og hva jeg evt. kan gjøre for å rette opp i problemet?
Last edited by andip on Wed Sep 02, 2009 6:49 am; edited 1 time in total |
|
Back to top |
|
|
creideiki n00b
Joined: 19 Feb 2003 Posts: 61 Location: Linköping, Sweden
|
Posted: Mon Aug 31, 2009 6:48 pm Post subject: Re: tegn (char) problemer |
|
|
andip wrote: | Alt ser fint ut i excel, og etter lagring så ser alt også finfint ut dersom jeg ser på text-fila med "more", eller open office spreadsheet. Om jeg ser på fila med "less", så ser det helt galt ut. Eksempler :
More : Østgård skole
Less : <D8>stg<E5>rd skole
Når jeg importerer textfila til mysql-basen/php-frontend, så forsvinner bare alt bak første spesial-tegn. Så "Østgård skole" som vist ovenfor blir bare borte, mens "Brårud skole" blir bare "Br". |
Det där är klassiska tecken på att programmen och texten använder olika teckenkodningar. Pröva: Code: | env LC_CTYPE=nb_NO less $FIL | eller Code: | env LC_CTYPE=nn_NO less $FIL | (tyvärr kan jag inte skillnaden mellan bokmål och nynorsk, så jag vet inte om det blir olika resultat)
Om någon av dem fungerar och du sedan byter ut LC_CTYPE globalt (se Gentoo Linux Localization Guide, särskilt kodlistning 3.1 och 3.4) och startar om databasen och webservern skall det nog gå bättre. Såvida inte det även är problem med hur MySQL skickar eller lagrar datat. Det är svart magi.
Lämplig läsning är "man locale", som säger: Code: | LC_CTYPE
Determine the locale for the interpretation of sequences of bytes of text data
as characters (for example, single-byte as opposed to multi-byte characters in
arguments and input files). | Med LC_CTYPE satt till något som använder US-ASCII (t.ex. "C" eller "POSIX") så anses att bytevärdet 0xD8 inte är ett tecken, och då blir det trasigt. Med LC_CTYPE satt till något som använder ISO 8859-1 (t.ex. "nb_NO" eller "nn_NO", eller t.o.m. "en_US") så representerar bytevärdet 0xD8 plötsligt tecknet "Ø" och allt blir bra. |
|
Back to top |
|
|
andip Tux's lil' helper
Joined: 18 Jun 2002 Posts: 116 Location: .no
|
Posted: Tue Sep 01, 2009 7:37 am Post subject: |
|
|
hei, og takker for godt svar.
Jeg har kommet et stykke på vei. det vil si, alle tegn ser bra ut med less også nå, men min import går fortsatt galt. jeg har restartet apache og mysql, men vet ikke om kanskje php har noen innvirkning her.
skal sjekke direkte i databasen for å se hva som er lagret der. forhåpentligvis så ser jeg æøå der, men ikke via web-frontend.
igjen, takk for raskt og informativt svar. |
|
Back to top |
|
|
creideiki n00b
Joined: 19 Feb 2003 Posts: 61 Location: Linköping, Sweden
|
Posted: Tue Sep 01, 2009 6:16 pm Post subject: |
|
|
Det skulle kunna vara så att importen inte tycker om text kodad med ISO 8859-1 alls. Du skulle kunna pröva att köra den genom iconv först, t.ex. så här för att konvertera den till UTF-8: Code: | iconv -f LATIN1 -t UTF-8 < $FIL > $FIL.utf8 |
|
|
Back to top |
|
|
andip Tux's lil' helper
Joined: 18 Jun 2002 Posts: 116 Location: .no
|
Posted: Wed Sep 02, 2009 6:48 am Post subject: |
|
|
ja, fant ut av det etterhvert igår ;)
mye frem og tilbake med default char-set i mysql og php. frem og tilbake med excel, word, openoffice, for å få lagret dokumentet med utf-8. fant frem til iconv, og mine problemer var over :)
takker og bukker for hjelpen. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|