Schrift
[thread]12383[/thread]

Win32::Clipboard und die lieben Umlaute

Leser: 3


<< >> 3 Einträge, 1 Seite
salix
 2008-08-20 13:55
#113753 #113753
User since
2008-08-20
2 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

da ich in nächster Zeit öfters mit Perl zu tun haben werde, habe ich die Chance genutzt mich Eurer community anzuschließen.
Ich hoffe ihr könnt mir bei meinem ersten Problem bereits weiterhelfen:

Es geht um die Darstellung von deutschen Umlauten in einem String nachdem man diesen in die Zwischenablage kopiert hat.

*nur ein Auszug*
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
# hier bekomme ich meinen Text her :
my $QuellTextFenster = $Hauptfenster->Text
$text = $QuellTextFenster->get('1.0', 'end');

# dann mache ich ein paar RegExp Ersetzungen z.B.:
$text =~ s/\[\[Kategorie:[^\]]+\]\]//g;

# zur Kontrolle gebe ich mir den Text nochmal aus
print $text;

# und hier kommt jetzt die Stelle an der es KNALLT!:
Win32::Clipboard::Set($text);


wenn in meinem Text Umlaute vorkommen werden diese mit print zwar richtig ausgegeben, in die Zwischenablage werden Umlaute aber nur als Buchstabensalat eingetragen.

Wenn man den Text direkt (also nicht aus dem Text Widget) eingibt ( $text = "äöüÄÖÜ";) dann tut die Zwischenablage einwandfrei.

Weiß jemand hierzu vielleicht voran das liegen kann?

Vielen Dank schonmal....

Gruß

salix
moritz
 2008-08-20 14:00
#113755 #113755
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Vermutlichliefert das Text-Widget einen dekodierten String, während $text = "äöü" einen Bytestring liefert (ausser du hast vorher use utf8; benutzt).

Ich habe einen Artikel über Zeichenkodierungen und Perl geschrieben, vielleicht bringt der ja etwas Licht ins Dunkel.
salix
 2008-08-20 16:09
#113775 #113775
User since
2008-08-20
2 Artikel
BenutzerIn
[default_avatar]
Super, dein Artikel hat echt geholfen.

ich hab jetzt noch folgendes eingebaut und nun tut es:

Code (perl): (dl )
1
2
3
4
use Encode;
...
Win32::Clipboard::Set(encode('latin-1', $text));
...


Danke
<< >> 3 Einträge, 1 Seite



View all threads created 2008-08-20 13:55.