iso-8859-1 i datafiler och utf-8 i källkoden för Perl
iso-8859-1 i datafiler och utf-8 i källkoden för Perl
Ok,
Man har UTF-8. Whoopie, cool, dig-it.
Men vad hjälper det när så mycket data finns i iso-8859-1?
I Python kan jag göra min uppgift lätt. Jag hoppades det skulle gå i Perl.
Jag vill använda åäö i ett regulärt uttryck.
När jag skriver källkod, blir det åäö i UTF-8
Men den datamängde som perl ska köras mot är i iso-8859-1.
Så jag kan aldrig få träffa genom att söka UTF i en iso-datamängd.
Aha, Perl har säkert något som Pythons codecs och encoding.
Jag tester:
use Encode 'decode';
och sedan:
$data = decode("iso-8859-1", $_);
Inte konverteras iso till utf, inte.
Det händer ingenting.
Tips?
Daniel
Man har UTF-8. Whoopie, cool, dig-it.
Men vad hjälper det när så mycket data finns i iso-8859-1?
I Python kan jag göra min uppgift lätt. Jag hoppades det skulle gå i Perl.
Jag vill använda åäö i ett regulärt uttryck.
När jag skriver källkod, blir det åäö i UTF-8
Men den datamängde som perl ska köras mot är i iso-8859-1.
Så jag kan aldrig få träffa genom att söka UTF i en iso-datamängd.
Aha, Perl har säkert något som Pythons codecs och encoding.
Jag tester:
use Encode 'decode';
och sedan:
$data = decode("iso-8859-1", $_);
Inte konverteras iso till utf, inte.
Det händer ingenting.
Tips?
Daniel
SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl
Jag trodde väl det.
Det är egentligen inte möjligt att utveckla program på ubuntu som kör med UTF-8.
Den enda lösning jag kan komma på är att boota om till Windows och kör via MSDOS prompt. Vem hade trott?!
Daniel
Det är egentligen inte möjligt att utveckla program på ubuntu som kör med UTF-8.
Den enda lösning jag kan komma på är att boota om till Windows och kör via MSDOS prompt. Vem hade trott?!
Daniel
SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl
Klart att det gårdlridings skrev: Jag trodde väl det.
Det är egentligen inte möjligt att utveckla program på ubuntu som kör med UTF-8.

Du skrev ju själv att du lyckades i Python, men inte i perl.. så uppenbarligen går det.
Att du inte kan är inte samma sak som att det är omöjligt!
Och ha lite tålamod, snart kanske det dyker upp en perl-kunnig person som kan hjälpa dig.
Under tiden kanske du kan prova på perl-relaterade forum
Här är några exempel på såna forum:
http://perlguru.com/
http://www.tek-tips.com/threadminder.cfm?pid=219
http://perl.lco.net/Forums/tabid/277/Default.aspx
http://www.thescripts.com/forum/forum150.html
________________________________________________________________
twitter @ BarreGargamel
blogg @ Gargamel.NU
twitter @ BarreGargamel
blogg @ Gargamel.NU
SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl
Jag hittade ett annat sätt.
Linux är inte UTF-8 mogen ännu. Det märks ibland.
Vi (editorn jag föredrar) använder UTF-8.
Då var det omöjligt.
Efter det att jag körde i Windows, bootade jag tillbaka till Linux för att jag glömde en script. Då slog det mig ... Emacs är ganska (fill-in-the-blank) ... och mycket riktigt, emacs använder ISO-8859-1 default.
Då kunde jag skriva om det regulära uttrycket med emacs för att bli av med UTF-8 och det fungerade.
Datamängden är fortfarande iso-8859-1 även som resultet, men det ville jag också. UTF-8 är inte så användbar ännu.
Daniel
Linux är inte UTF-8 mogen ännu. Det märks ibland.
Vi (editorn jag föredrar) använder UTF-8.
Då var det omöjligt.
Efter det att jag körde i Windows, bootade jag tillbaka till Linux för att jag glömde en script. Då slog det mig ... Emacs är ganska (fill-in-the-blank) ... och mycket riktigt, emacs använder ISO-8859-1 default.
Då kunde jag skriva om det regulära uttrycket med emacs för att bli av med UTF-8 och det fungerade.
Datamängden är fortfarande iso-8859-1 även som resultet, men det ville jag också. UTF-8 är inte så användbar ännu.
Daniel
- DrMegahertz
- Inlägg: 296
- Blev medlem: 06 maj 2006, 14:37
- OS: Ubuntu
- Utgåva: 14.04 Trusty Tahr LTS
- Ort: Södra Dalarna
SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl
Vi befinner oss i en övergångsfas då utf-8 börjar stödjas i fler och fler applikationer(vilket är en mycket bra sak) och då får man helt enkelt räkna med att det kan bli lite strul med sin gamla data som är kodad i ett annat format.
Senast redigerad av 1 DrMegahertz, redigerad totalt 31 gånger.


SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl
ställ om din terminal du kodar i till ISO-8859-1 skriv koden och kör...
The Black Mountain Scorpion Hoedown Bluegrass Experience Gang
From Left to Right: Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle.
From Left to Right: Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle.
SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl
Och det gör man med ... stty? jag hittar inga flaggar i man-sidan.gasol skrev: ställ om din terminal du kodar i till ISO-8859-1 skriv koden och kör...
- Daniel Nylander
- Inlägg: 1002
- Blev medlem: 21 aug 2006, 14:57
- OS: Ubuntu
- Utgåva: 23.10 Mantic Minotaur
- Ort: Stockholm
- Kontakt:
SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl
Allt finns ju dokumenterat på http://perldoc.perl.org/Encode.html
$octets = encode("iso-8859-1", $string);
$string = decode("iso-8859-1", $octets);
Vill man konvertera allt sitt gamla data kan man använda iconv
$octets = encode("iso-8859-1", $string);
$string = decode("iso-8859-1", $octets);
Vill man konvertera allt sitt gamla data kan man använda iconv
--
Daniel Nylander
Medlem av GNOME Foundation och Ubuntu Members
Daniel Nylander
Medlem av GNOME Foundation och Ubuntu Members