2023-06-08T08:05:13
GwenDragonUm diesem Kodierungswahn von PHP-/Perl-Modulen aus dem Weg zu gehen, hilft nur das roh als blob in der DB abzuspeichern wie du schon erwähntest.
So isses. Und von daher ist auch meine Foren-Table latin und damit werden UTF-8-Zeichen bytesemantisch korrekt gespeichert.
CREATE TABLE `forum` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`fid` varchar(32) NOT NULL DEFAULT '',
`pid` int(11) NOT NULL DEFAULT '0',
`comment` text,
`nickname` varchar(32) NOT NULL DEFAULT '',
`tid` int(11) NOT NULL DEFAULT '0',
`subject` varchar(72) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `fid` (`fid`),
KEY `tid` (`tid`)
) ENGINE=InnoDB AUTO_INCREMENT=371 DEFAULT CHARSET=latin1
Eine Umstellung auf UTF-8 hätte folgende Konesequenzen:
1. die Datenmenge in MySQL wird viel größer
2. nach jedem Select müssen per Encode die bytes wiederhergestellt werden