tuberplays
Goto Top

MySQL Server Default Charset festlegen

Hallo zusammen,

ich versuche aktuell einem MySQL (8.0.26) Server (Betrieben auf Windows Server 2019) einen neuen Default Charset für die Tabellen beizubringen.

Aktuell steht der default_character_set_name auf "utf8mb4". Rein müsste da "utf8" (Ja, ich weiß, ist teilweise deprecated, geht aber im Moment nicht anders).

Die Config (My.ini) hab ich nach einigen Anleitungen bereits angepasst:
[mysql]
...
default-character-set   = utf8

[mysqld]
...
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'  
character-set-server = utf8
skip-character-set-client-handshake

Leider führt das nicht zum gewünschten Erfolg.

Dass der Server grundsätzlich utf8 kann, zeigt sich, da ich die Tabellen alle händisch durchgehen und mit "CONVERT TO CHARSET utf8;" auf UTF8 bringen kann. Das funktioniert, ist aber nicht Sinn der Sache.

Jemand noch einen Tipp für mich, wie ich das umgesetzt bekomme?

Danke und Grüße!

(Die Software welche das ganze dann schlussendlich nutzt umzubauen ist leider nicht möglich, weswegen ich das auch nicht austragen möchte. Diese läuft einfach nur so. Danke für euer Verständnis!)

Content-ID: 1086972704

Url: https://administrator.de/forum/mysql-server-default-charset-festlegen-1086972704.html

Ausgedruckt am: 27.12.2024 um 01:12 Uhr

149062
149062 25.07.2021 aktualisiert um 14:21:54 Uhr
Goto Top
Leider führt das nicht zum gewünschten Erfolg.
Woran meinst du bei dir das es nicht erfolgreich war?

Vielleicht verstehst du das default-charset auch falsch. dies gilt für alle neuen Tabellen und aktuelle Verbindungen, aber bestehende Datenbanen/Tabellen musst du erst umwandeln, von selbst übernehmen die das default geänderte Characterset nicht.

Die generelle Umstellung für neue Tabellen geht so wie du es oben schon gemacht hast
[mysql]
default-character-set   = utf8

[mysqld]
character-set-server = utf8
natürlich mit einem anschließenden Dienst-Neustart
restart-service MySQL80

Ergebnis:

screenshot

utf8mb3 ist ein Alias für utf8
https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.html
, ergo alles OK !

Eine daraufhin neu angelegte Tabelle hat folgende Einstellung

screenshot

Fazit: Works face-wink.

Bestehende Tabellen musst du natürlich erst konvertieren, von selbst machen die das nicht, das wäre in diversen Szenarien auch fatal wenn das so wäre.
https://stackoverflow.com/questions/10859966/how-to-convert-all-tables-i ...

Gruß evo