MrSpoocy: DBI MySQL INSERT und ASCII zeichen !?

Beitrag lesen

Hallo,
was meinst du mit "die Datenbank ist richtig eingestellt"?
Vielleicht ist ja das Perl-Script nicht "richtig eingestellt". Kenne mich mit Perl wenig aus, aber allgemein kann ich sagen: 255 ist kein ASCII Zeichen (Der ASCII Zeichensatz umfasst nur 7 Bit, also 0 bis 127). Wahrscheinlich verwendet also das Script eine andere Kodierung als die Datenbank. Die Konsole dagegen wird dann wohl die gleiche Kodierung verwenden wie die Datenbank

Liebe Grüße

mbr

Also ich kenn mich leider auch nicht so gut mit aus. Aber zum test habe ich in das script folgendes geschrieben:

my $msg = "- † -   -";
open FILE, ">> test.txt";
print FILE "-> ".$msg."\n";
close FILE;

in dem file wird das zeichen (†) richtig dargestellt. Wenn ich genau die $msg variable nun in die DB einfügen will kommen halt die komischen zeichen.

my $DB_NAME = "db";
my $DB_HOST = '';
my $DB_PORT = '';
my $DB_USER = "root";
my $DB_PASSWD = "root";
my $DB_DSN = "DBI:mysql:database=$DB_NAME";
my $dbh;

$dbh = DBI->connect($DB_DSN, $DB_USER, $DB_PASSWD);
 if (!$dbh) {
   message "Fehler bei Datenbankverbindung: $_!";
 } else {
 my $sth = $dbh->do("INSERT INTO f_test (name) VALUES ('$msg')");
 }

mfg Spoocy