Avatar billede neverknow Nybegynder
15. september 2007 - 15:52 Der er 15 kommentarer og
1 løsning

Charset problemer ISO-8859-1 eller UTF-8

Hej Eksperter,

Her er et ton af tråde omkring folk der har problemer med deres charsets, dog er der ingen der rigtigt giver mig nogen hjælp i det problem jeg står med.

Har min egen server og besluttede mig for at jeg ville have lavet en reinstall på den igår og opgraderet til apache2+php5+mysql5 og lidt andet guf. Det er også gået fint nok og alt i den hensende virker perfekt. Desværre har jeg haft lavet backup til en windows maskine hvilket nu har resulteret i at alle mine filer er blevet encoded til charset: ISO-8859-1 og alt på serveren kører UTF-8 inkl. alle mine databaser osv.

Mit problem er nu hvordan får jeg lavet om så alle mine filer bliver encoded tilbage til UTF-8 så æøå vises korrekt?

MVH. Never
Avatar billede neverknow Nybegynder
15. september 2007 - 15:53 #1
Mit Setup:

Linux Debian 4.1 ETCH
Apache 2.2.x
PHP 5.x
MySQL 5.x

Locales kører UTF-8 All around
Avatar billede erikjacobsen Ekspert
15. september 2007 - 15:55 #2
iconv på din Linux-boks ?
Avatar billede neverknow Nybegynder
15. september 2007 - 16:24 #3
Den her ligger nok forkert under HTML, men nu er den her altså.

Prøver lige at rebuilde mine charsets og så prøver jeg iconv igen ladder til at min server måske ikke er helt med på at converte fra iso-8859-1 når den ikke kender til dette charset. ;)
Avatar billede erikjacobsen Ekspert
15. september 2007 - 16:53 #4
Det burde den vel kende - noget i retning af:  iconv --from-code=ISO-8859-1 --to-code=UTF-8
Avatar billede neverknow Nybegynder
15. september 2007 - 17:01 #5
Hmm, nu har jeg fået den til at konvertere dog kun til en ny fil den vil ikke bare konvertere og erstatte den oprindelige fil?

Hvis man kører denne, giver det dette output:
#iconv -f iso-8859-1 -t utf-8 testlocal.php
test document med æøåÃÃÃ

Derimod:
#iconv -f iso-8859-1 -t utf-8 testlocal.php -o localfixed.php
test document med æøåÆØÅ

Den går ikke ind i filen i den første selvom jeg kører iconv som root så der skulle jo være rigeligt permissions?
Avatar billede erikjacobsen Ekspert
15. september 2007 - 17:05 #6
Hvis localfixed.php vises som utf8 er det vel ok.
Avatar billede neverknow Nybegynder
15. september 2007 - 17:06 #7
ja hvis ikke jeg havde 300 filer som jeg skal fixe det på og derefter rename hver enkelt tilbage fra output filen. Ville jo gerne have den til at kører det recursive på min backup.
Avatar billede erikjacobsen Ekspert
15. september 2007 - 17:09 #8
find kombineret med iconv kan gøre det, skulle jeg tro. outputfiler kan lægges i en anden mappe med samme navn. iconv behøver ikke selv kunne gøre det.
Avatar billede neverknow Nybegynder
15. september 2007 - 17:11 #9
Jeg har ingen idé om hvordan jeg skal kombinere de to ting.

Har du et hint?
Avatar billede erikjacobsen Ekspert
15. september 2007 - 17:17 #10
Øh, ja, utestet. I kataloget med dine filer og underkataloget

find . -exec 'iconv -from-code=ISO-8859-1 --to-code=UTF-8 {} -o ../ny/{} ;'

opret "ny" først
Avatar billede neverknow Nybegynder
15. september 2007 - 17:17 #11
Hmm fandt det her lille script - leger lidt med det.

#! /bin/bash
# iso2utf8 - convert all specified files to utf-8

for FILE in `ls $@`
do
iconv -f iso-8859-1 -t utf-8 $FILE > tempfile.tmp
mv -f tempfile.tmp $FILE
ls -l $FILE
done
Avatar billede erikjacobsen Ekspert
15. september 2007 - 17:17 #12
Hmm, ".." går måske galt - brug evt en absolut sti.
Avatar billede neverknow Nybegynder
15. september 2007 - 17:29 #13
Giv mig et svar erik du hjalp mig til en brugbar løsning.

Endte med at bruge det lille script som gutten herunder har flækket sammen.

http://www.webmasterworld.com/linux/3359817.htm
Avatar billede erikjacobsen Ekspert
15. september 2007 - 18:28 #14
Fint nok. Jeg samler slet ikke på point. Svar selv, accepter eget svar. Og brug point på noget andet...
Avatar billede neverknow Nybegynder
15. september 2007 - 18:36 #15
done - tak!
Avatar billede neverknow Nybegynder
15. september 2007 - 18:36 #16
point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester