Gå till innehåll
Just nu i M3-nätverket

Konvertera Windows fulkodning till utf-8


xeric

Rekommendera Poster

Då och då ser man trådar där man får problem med textkodningen - man har t ex fått en text/fil från ngn som råkar använda använder Windows.

Här är en lösning för det i Terminal...

- - -

Först, för att se att det funkar. Skapa en ny fil i Textredigeraren (TextEdit) och spara den med “Windows Latin 1”. QuickLook'ar man filen ser man sen alla Windows hieroglyfer.

post-64246-0-92923700-1478253866_thumb.png


Med programmet: iconv

För att se vad filen har för teckenkodning, kör:

# file -I <filen.txt>
$ file -I ~/iconv_test.txt
/Users/Namn/iconv_test.txt: text/plain; charset=iso-8859-1

Teckenkodningen = ISO-8859-1

Så, med iconv blir då raden man kör:

iconv -f ISO-8859-1 -t UTF-8//TRANSLIT "~/filen.txt" > "~/nya_filen.txt"

QuickLook'ar man båda nu ser man att det blev “normal” igen. :yeahbaby:
post-64246-0-28049400-1478253874_thumb.png

- - -


Med textutil (OS X/macOS)

Det finns i systemet ett annat program (ett OS X-program) som gör samma sak. Både iconv och textutil finns förinstallerat.

Med textutil kan man även göra lite annat och manualen kan vara lite svårläst... (open x-man-page://textutil), men ett enkelt exempel för en textfil är:

textutil -convert txt ~/filen.txt -output ~/filen_textutil.txt


Där det står txt ändrar du om det är ett annat format, som manualen säger:

-convert fmt  Convert the specified files to the indicated format and
              write each one back to the file system.

# ...

              fmt is one of:  txt, html, rtf, rtfd, doc, docx, wordml,
                              odt, or webarchive


Kanske något enklare användning än första exemplet, men det är mer att hålla reda på om man vill ha den till annat.

- - -

Gjorde ett enkelt (bash)skript om någon kanske vill ha/behöver:

2utf8.d.zip

Det bygger på första exemplet (med iconv) och kollar av vilken teckenkodning filen har och konverterar filen sen.

Användningen är enklast enkla:

# 2utf8 <filen>
$ 2utf8 ~/Skrivbord/iconv_test.txt
/Users/Namn/Skrivbord/iconv_test.txt -> /Users/Namn/Skrivbord/iconv_test_(backup).txt

När det är klart öppnas filen i Finder. :yeahbaby:

Länk till kommentar
Dela på andra webbplatser

Detta gör väl TextWrangler?

http://www.barebones.com/products/TextWrangler/

 

Öppna filen.

Teckenkodningen visas längst ner i fönstret.

Byt till UTF-8 (eller något annat).

Spara eller Spara Som

 

TextWrangler är fullt scriptbar.

Länk till kommentar
Dela på andra webbplatser

Detta gör väl TextWrangler?

http://www.barebones.com/products/TextWrangler/

 

Öppna filen.

Teckenkodningen visas längst ner i fönstret.

Byt till UTF-8 (eller något annat).

Spara eller Spara Som

 

TextWrangler är fullt scriptbar.

Ja, det finns väl nåt i menyerna där med “Reopen ...” - att bara ändra längst ner där funkar inte.

 

post-64246-0-03100200-1478258566_thumb.png

 

Textwrangler har ju inget “rich text”-läge, och har jag för mig att det inte funkar helt bra då man t ex skall konvertera om en “.doc” el “.rtf”. Och vet man om att det är fel kodning på filen innan - går ju väldigt mkt fortare att köra: 2utf8 ~/filen.txt, än att öppna upp den i TextWrangler och sen öppna om den. :)

Länk till kommentar
Dela på andra webbplatser

Då och då ser man trådar där man får problem med textkodningen - man har t ex fått en text/fil från ngn som råkar använda använder Windows.

 

Här är en lösning för det i Terminal...

 

- - -

 

Först, för att se att det funkar. Skapa en ny fil i Textredigeraren (TextEdit) och spara den med “Windows Latin 1”. QuickLook'ar man filen ser man sen alla Windows hieroglyfer.

 

attachicon.gif2utf8_01.png

Med programmet: iconv

 

För att se vad filen har för teckenkodning, kör:

# file -I <filen.txt>
$ file -I ~/iconv_test.txt
/Users/Namn/iconv_test.txt: text/plain; charset=iso-8859-1

Teckenkodningen = ISO-8859-1

 

Så, med iconv blir då raden man kör:

iconv -f ISO-8859-1 -t UTF-8//TRANSLIT "~/filen.txt" > "~/nya_filen.txt"

QuickLook'ar man båda nu ser man att det blev “normal” igen. :yeahbaby:

attachicon.gif2utf8_02.png

 

- - -

 

Med textutil (OS X/macOS)

 

Det finns i systemet ett annat program (ett OS X-program) som gör samma sak. Både iconv och textutil finns förinstallerat.

 

Med textutil kan man även göra lite annat och manualen kan vara lite svårläst... (open x-man-page://textutil), men ett enkelt exempel för en textfil är:

textutil -convert txt ~/filen.txt -output ~/filen_textutil.txt

 

Där det står txt ändrar du om det är ett annat format, som manualen säger:

-convert fmt  Convert the specified files to the indicated format and
              write each one back to the file system.

# ...

              fmt is one of:  txt, html, rtf, rtfd, doc, docx, wordml,
                              odt, or webarchive

 

Kanske något enklare användning än första exemplet, men det är mer att hålla reda på om man vill ha den till annat.

 

- - -

Gjorde ett enkelt (bash)skript om någon kanske vill ha/behöver:

 

attachicon.gif2utf8.d.zip

 

Det bygger på första exemplet (med iconv) och kollar av vilken teckenkodning filen har och konverterar filen sen.

 

Användningen är enklast enkla:

# 2utf8 <filen>
$ 2utf8 ~/Skrivbord/iconv_test.txt
/Users/Namn/Skrivbord/iconv_test.txt -> /Users/Namn/Skrivbord/iconv_test_(backup).txt

När det är klart öppnas filen i Finder. :yeahbaby:

 

Textredigeraren kan både läsa och spara filer i formatet iso-8859-1. Å ä ö i en fil med denna kodning ser ut som de ska både när jag öppnar med Textredigeraren och snabbgranskar i Finder.

 

Det har inte med kodningen att göra om å ä ö blir "hieroglyfer". Orsaken är i stället att programmet, exempelvis Textredigeraren, i vissa fall misstolkar kodningen och tror att det är en annan kodning än vad det är.

Länk till kommentar
Dela på andra webbplatser

Textredigeraren kan både läsa och spara filer i formatet iso-8859-1. Å ä ö i en fil med denna kodning ser ut som de ska både när jag öppnar med Textredigeraren och snabbgranskar i Finder.

 

Det har inte med kodningen att göra om å ä ö blir "hieroglyfer". Orsaken är i stället att programmet, exempelvis Textredigeraren, i vissa fall misstolkar kodningen och tror att det är en annan kodning än vad det är.

Det är för att Textredigeraren har i sina inställningar att känna igen vilket teckenkodning som används. Men som 1'a bilen visar där så i Finder/, med QuckLook så visar den fel.

 

post-64246-0-53932000-1478261582.png

 

Så det funkar där, just för det här exemplet. Men jag har själv varit med om när det inte funkar där. Nu var det ju bara ett exempel - med en fil skapad i OS X men med fel kodning. Problemet uppstår oftast då man får en fil från någon annan, där det blir knasigt när den skall visas. Och det var det lösningen var till - då det inte funkar.

 

Ja, och iso-8859-1 var ju bara ett exempel, det finns andra teckenkodningar med.

Länk till kommentar
Dela på andra webbplatser

Det är för att Textredigeraren har i sina inställningar att känna igen vilket teckenkodning som används. Men som 1'a bilen visar där så i Finder/, med QuckLook så visar den fel.

 

attachicon.giftextredit_prefs.png

 

Så det funkar där, just för det här exemplet. Men jag har själv varit med om när det inte funkar där. Nu var det ju bara ett exempel - med en fil skapad i OS X men med fel kodning. Problemet uppstår oftast då man får en fil från någon annan, där det blir knasigt när den skall visas. Och det var det lösningen var till - då det inte funkar.

 

Ja, och iso-8859-1 var ju bara ett exempel, det finns andra teckenkodningar med.

 

Även om Textredigeraren har inställt "Automatiskt" vid öppning så händer det att den missbedömer kodningen, och då blir det fel. Jag vet att Textredigeraren i bland uppfattar utf-8-kodning som MacOS Roman-kodning. Då blir det hieroglyfer.

 

Men som sagt "hieroglyfer" uppstår när programmet feltolkar filens kodning, och då kan det ju vara bra att byta kodning med exempelvis iconv.

 

Jag tror att funktionen snabbgranskning i Finder använder sig av Förhandsvisning. Korrigera mig om jag har fel.

 

Blir det hieroglyfer i snabbgranskning borde det då även bli det om man öppnar filen med Förhandsvisning.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...