Schrift
[thread]6806[/thread]

Wide character in print

Leser: 4


<< |< 1 2 >| >> 18 Einträge, 2 Seiten
esskar
 2005-03-21 12:14
#52817 #52817
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich bekomm dieses Warning, wenn ich Sachen in eine Datei schreibe. Wie vermeide ich das am besten? bringt ein 'use utf8' etwas. Oder ein binmode? oder eine andere konvertierung?
Dubu
 2005-03-21 13:06
#52818 #52818
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Kommt drauf an, was du schreiben moechtest, Text oder Binaerdaten.
renee
 2005-03-21 13:09
#52819 #52819
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Aus perldoc perldiag:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
       Wide character in %s
(W utf8) Perl met a wide character (>255) when it
wasn't expecting one. This warning is by default on
for I/O (like print). The easiest way to quiet this
warning is simply to add the ":utf8" layer to the out-
put, e.g. "binmode STDOUT, ':utf8'". Another way to
turn off the warning is to add "no warnings 'utf8';"
but that is often closer to cheating. In general, you
are supposed to explicitly mark the filehandle with an
encoding, see open and "binmode" in perlfunc.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
esskar
 2005-03-21 13:27
#52820 #52820
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
es ist eben ein mail (wahrscheinlich spam), deren inhalt ich in eine datei schreibe (genau weiß ich es nicht). Es wäre wichtig, dass ich die Sache auch wieder richtig auslesen kann.
Ist es dann mit renee's vorschlag getan?
ptk
 2005-03-21 13:42
#52821 #52821
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ja, wenn du mit dem gleichen binmode wieder einliest.
esskar
 2005-03-21 13:43
#52822 #52822
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
muss mal schauen (da liegen jetzt noch dateien rum, mit altem binmode)... mal sehen wie ich es mach!
betterworld
 2005-03-21 23:42
#52823 #52823
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
versuch mal "use bytes;"
esskar
 2005-03-21 23:57
#52824 #52824
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=betterworld,21.03.2005, 22:42]versuch mal "use bytes;"[/quote]
hmm, das hat doch noch mehr auswirkungen oder?
jan
 2005-03-22 02:55
#52825 #52825
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
wie wär's mit use utf8;
wo wir gerade dabei sind, fröhlich vorschläge in die runde zu werfen ;)
ptk
 2005-03-22 13:01
#52826 #52826
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Nein, "use utf8" und "use bytes" machen was anderes. Damit wird einfach nur angegeben, dass das Skript selbst, also der Sourcecode, in utf8 oder in ascii/latin1 geschrieben ist. Wenn man "use utf8" sagt, muss man Stringliterale auch als utf8 schreiben. Ich glaube, man darf dann sogar Funktions- und Variablennamen mit Umlauten benutzen.

Fuer die Steuerung des Encodings bei I/O verwendet man binmode oder "use open".
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2005-03-21 12:14.