tinita: Perl / MySQL Kodierungsprobleme

Beitrag lesen

Also, mit:

#!/usr/bin/perl

use utf8;
binmode STDOUT, ":encoding(UTF-8)"; # das scheint hier wichtig zu sein.
print "Content-Type: text/html; charset=UTF-8\n\n";


>   
> sehe ich die Umlaute aus meiner Datenbank unter allen Umständen korrekt.  
  
schrieb ich ja weiter oben auch, und war laut lxuser auch die lösung.  
  
das "use utf8" ist hier übrigens unnötig. wird aber oft unwissend verwendet in dem glauben, jedes skript, welches mit unicode arbeitet, braucht "use utf8".  
use utf8 ist nur dann von nutzen (aber auch nicht immer nötig), wenn das skript selbst (also der quelltext) utf8 enthält und beispielsweise direkt im skript notierte variableninhalte automatisch dekodiert sein sollen.  
  
~~~perl
use utf8;  
my $text = "ümlaut";  

entspricht dem hier:

use Encode;  
my $text = decode_utf8("ümlaut");  

use utf8 dekodiert also sozusagen automatisch im skript vorhandene inhalte.
inhalte von extern (datenbank, CGI, dateien) müssen weiterhin selbst mittels Encode bearbeitet werden.

wollte ich nur loswerden aus dem o.g. grund.