use strict; use warnings; use DBI; my $str = 'Das ist das Ü, was kein Ö ist oder niemals ein Ä!'; my $str1 = "1. Das ist das kleine \xfc, was kein Ö ist oder niemals ein Ä!"; my $str2 = '2. Das ist das kleine \xfc, was kein Ö ist oder niemals ein Ä!'; my $dsn = 'DBI:mysql:database=testdb;host=localhost;port=3309'; my $dbh = DBI->connect($dsn, 'test', 'test', undef) or die $DBI::errstr; # hier stehen große Umlaute in der Tabelle my $sth = $dbh->do( 'INSERT INTO test (NAME) VALUES (?)', undef, $str ) or die $DBI::errstr; # hier steht nicht \xfc sondern ü in der Tabelle $sth = $dbh->do( 'INSERT INTO test (NAME) VALUES (?)', undef, $str1 ) or die $DBI::errstr; # hier steht wirklich \xfc in der Tabelle $sth = $dbh->do( 'INSERT INTO test (NAME) VALUES (?)', undef, $str2 ) or die $DBI::errstr;