Aus gegebenem Anlass habe ich zum Thema einen kleinen Artikel geschrieben:
https://rolfrost.de/dbiutf8.html
Viel Spaß damit.
MFG
PS: Wa das UTF-8-Problem hier im Forum betrifft habe ich ergänzt:
Problem mit UTF8 und Zeichen mit mehr als 3 Bytes
Beim Versuch, mit o.g. Code das Zeichen $m->insert($dbh, 'kette', zeichen => pack "U", 0x1F440); einzufügen erscheint eine Fehlermledung: DBD::mysql::db do failed: Incorrect string value: '\xF0\x9F\x91\x80' for column 'zeichen' at... Das liegt daran daß MySQL in Sachen UTF-8 weiterhin unterscheidet ob er Anzahl an Bytes welche utf8kodierte Zeichen mit sich bringen. Aus jeden Fall iet es unsinnig, vor einem INSERT set names utf8 collate utf8_general_ci anzuweisen. Wie MySQL mit utf8kodierten Zeichen umgeht die mehr als 3 Bytes haben, siehe Dokumentation.
Bei einem INSERT ist Bytesemantic angebracht.
.
Last edited: 2019-09-26 09:21:24 +0200 (CEST)