Umlaute in HeidiSQL werden falsch angzeigt

Bei der Arbeit mit HeidiSQL habe ich das Problem, dass Umlaute je nach Datenbank falsch angezeigt werden und nicht lesbar sind. Diese werden von HeidiSQL standardmäßig in UTF-8 kodiert angenommen. Allerdings ist die Default-Charset meiner Datenbank mit einer anderen Kodierung vorgesehen, nämlich in latin-1.

In den Einstellungen von HeidiSQL kann man jedoch keine passende Option dazu finden diese Collation zu ändern. Und das weder in den globalen, noch in den verbindungspezifischen Einstellungen.

Eine Ausgabe in den Ergebnisdaten mit Umlauten sieht dann möglicherweise wie folgt aus:

select lastname from users where id = 1;

> Schröder

Lösung

Nachdem folgende SQL Abfrage abgesetzt wurde werden die Umlaute aller künftigen SQL-Abtragen innerhalb der aktuellen Verbindung  korrekt dargestellt.

SET NAMES 'latin1';

Nachdem diese Query abgesetzt wurde, werden die Umlaute korrekt dargestellt. So sieht die ursprünglich falsche Antwort nun korrekt aus:

select lastname from users where id = 1;
> Schröder

Weiterführende Literatur

Mysql Datenbank kopieren bzw. duplizieren

Möchte man in Mysql eine Datenbank kopieren bzw. duplizieren kann man das leider nicht in einem Schritt. Dies muss man in MySQL in drei Schritten vornehmen. Dazu muss zunächst die Quelldatenbank exportiert werden, dann wird die neue Datenbank erzeugt um abschließend die im ersten Schritt erzeugten Daten in die neue Datenbank zu importieren.

Vorgehensweise im Detail

1. Schritt: Exportieren der vorhandenen Daten aus der Quelldatebank auf der Konsole

[vader@deathstar ~]$ mysqldump SOURCE_DB > dump_db.sql

2. Schritt: Erzeugen der neuen Datenbank im SQL-Client

MariaDB [(none)]> create database TARGET_DB;

3. Schritt: Importieren der im ersten Schritt exportierten Daten in das neue Ziel – ebenfalls auf der Konsole

[vader@deathstar ~]$ mysql TARGET_DB < dump_db.sql

Mit dieser Schritt-für-Schritt-Anleitung kann man nun ganz einfach die Datenbank klonen.

Hat Dir das Tutorial geholfen? Hinterlass mir doch einen Kommentar

Weiterführende Literatur

Umstellung mysql auf mysqli

Mit PHP 5.5.0 werden die alten mysql-Funktionen als deprecated markiert und in einer künftigeren – mit dem heutigen Stand jedoch nicht näher spezifizierten Version – gänzlich entfernt. Daher sollte eine Umstellung dessen in den eigenen Projekten mittelfristig eingeplant werden. Dafür habe ich an dieser Stelle eine Umfängliche Schritt-für-Schritt Anleitung zusammengestellt.

MySQL: Das umfassende HandbuchDie Umstellung der mysql_*-Funktionen auf mysqli_*-Funktionen geht relativ reibungslos vonstatten, sofern man eine zentrale Verarbeitung der Datenbankabfragen implementiert hat. Ist dies nicht der Fall so wird sich der hier aufgeführte Aufwand um die Anzahl der zu behandelnden Stellen zuzüglich der notwendigen Tests in ungefähr multiplizieren. Umstellung mysql auf mysqli weiterlesen