iso-8859-1 i datafiler och utf-8 i källkoden för Perl

Här diskuteras programmering och utveckling
dlridings
Inlägg: 4
Blev medlem: 31 aug 2007, 10:58

iso-8859-1 i datafiler och utf-8 i källkoden för Perl

Inlägg av dlridings »

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
dlridings
Inlägg: 4
Blev medlem: 31 aug 2007, 10:58

SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl

Inlägg av dlridings »

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
Användarvisningsbild
Barre
Inlägg: 2298
Blev medlem: 13 dec 2006, 10:23
OS: Ubuntu
Ort: Stockholm
Kontakt:

SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl

Inlägg av Barre »

dlridings skrev: Jag trodde väl det.

Det är egentligen inte möjligt att utveckla program på ubuntu som kör med UTF-8.
Klart att det går :)

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
dlridings
Inlägg: 4
Blev medlem: 31 aug 2007, 10:58

SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl

Inlägg av dlridings »

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
Användarvisningsbild
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

Inlägg av DrMegahertz »

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.
BildAre you shpongled? Bild
Användarvisningsbild
gasol
Inlägg: 405
Blev medlem: 27 jul 2007, 14:57
Kontakt:

SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl

Inlägg av gasol »

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.
dlridings
Inlägg: 4
Blev medlem: 31 aug 2007, 10:58

SV: iso-8859-1 i datafiler och utf-8 i källkoden för Perl

Inlägg av dlridings »

gasol skrev: ställ om din terminal du kodar i till ISO-8859-1 skriv koden och kör...
Och det gör man med ... stty? jag hittar inga flaggar i man-sidan.
Användarvisningsbild
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

Inlägg av Daniel Nylander »

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
--
Daniel Nylander
Medlem av GNOME Foundation och Ubuntu Members
Skriv svar

Återgå till "Programmering och webbdesign"