Robert B.: umstellung mariadb, nun codierungsproblem

Beitrag lesen

Moin,

Hallo Rolf, habe es nun mit etlichen Kollationen versucht, das mistding speichert mir, egal was ich versuche, einfach keine Sonderzeichen mehr, und gibt auch keine mehr aus.

Witzigerweise kann ich über phpMyAdmin direkt Daten ändern, und sie stehen dann auch richtig in der DB. Sobald ich aber in Perl die DBI connecte, daten schreibe oder lese, werden (und egal auf welche Kollation ich das DB feld eingestellt habe), keine Sonderzeichen mehr verarbeitet.

Im Grunde kann das jetzt doch nur ein Problem sein, das in der Zusammenarbeit zwischen Perl (DBI connect) und mariaDB entsteht.

genau das meinte Rolf in seiner vorherigen Antwort:

  • Für die Verbindung zwischen DB-Server und Client (also dein Perl)
    • als Default im Server
    • als Default im Client
    • explizit bei der Verbindungsaufnahme

Du musst in der Datenverbindung den charset explizit setzen oder als ersten Query SET NAMES utf8 ausführen. (Disclaimer: Ich kenne mich mit Perl DBI nicht so gut aus, bei mir funktioniert

my $dbh = DBI->connect("dbi:mysql:$dbName", $sqlUser, $sqlPass);
$dbh->do('SET NAMES utf8');

)

Viele Grüße
Robert