#!/usr/bin/perl use strict; use warnings; use encoding "utf8"; use CGI; use DBI; use CGI::Carp qw( fatalsToBrowser ); my $cgi = CGI->new(); print $cgi->header( -type => "text/plain", -charset => "UTF-8" ); my $aRef; my $query = "REPLACE INTO test SET id = 2, text = ?;"; my $string = "Mühle"; my $dbi = DBI->connect( "DBI:mysql:test", "test", "test", { RaiseError => 1, mysql_enable_utf8 => 1 } ) or die( $! ); print "String: $string"; # String: ;Mühle $dbi->do("SET NAMES utf8"); $dbi->do($query, undef, $string); $aRef = $dbi->selectall_arrayref( "SELECT id, text FROM test ORDER BY id" ); print "\n\n\# zweiter Versuch mit encoding und NAMES auf utf8\n"; print "\# id $$_[0]: $$_[1]\n" foreach @$aRef ; # zweiter Versuch mit encoding und NAMES auf utf8 # id 1: Mühle, über phpmyadmin eingefügt # id 2: Mühle