Ich habe einen SQL-Server auf einem unter linode.com gehosteten Debian-Linux. Einige meiner Daten enthalten hebräische Zeichen.
Ich verbinde mich mit dem Server über putty ssh unter Windows 7. Wenn ich die SQL-Administrationskonsole (MySQL) starte und eine Auswahlabfrage durchführe, werden alle hebräischen Zeichen als '?' Angezeigt.
Ich bin nicht einmal sicher, wo das Problem liegt, aber ich denke, es ist entweder die MySQL-Konsole oder der Kitt, der das Hebräische verliert.
Die Daten selbst sind in Ordnung (ich weiß das, weil sie auch über eine Webseite abgerufen werden, auf der sie gut angezeigt werden).
Irgendwelche Ideen, was ich tun soll, um Hebräisch für dieses Szenario zu aktivieren?
Vielen Dank.
Antworten:
Zeichenkodierungen sind ein wenig veränderlich, es könnte sein, dass deine Daten (die ja alles nur binär sind).
Sie sollten zuerst die Codierung Ihrer Datenbank und die individuelle Codierung der Tabelle überprüfen. Die Codierung bezieht sich auf den internen Speicher. Ein gutes Beispiel ist, dass Sie speichern,
ISO-8859-1
damit die Datenbank nur erwartetISO-8859-1
, aber wenn einige der Daten auf Hebräisch sind, sind diese Zeichen nichtvalid
inISO-8859-1
..., aber wenn die Clients die Daten eingeben Wenn Sie es mitISO-8859-8
(Hebräisch) herausholen, scheint es meistens zu funktionieren.Hier ist eine Anleitung von MySQL zum Thema.
Ich würde (wo immer möglich) empfehlen, UTF-8 zu verwenden. Es gibt eine Reihe von Gründen, aber bitte, bitte ändern Sie die Kodierung Ihrer Datenbanken nicht blind, da dies die Daten nicht neu kodiert, sondern MySQL lediglich darüber informiert, dass dies der Fall sein sollte wie UTF8 behandelt werden. (Was Ihre Daten verfälscht, wenn die Quelle ISO-8859-1 oder ISO-8859-8 ist. Hier ist eine weitere Einführung in die Zeichencodierung, und Sie wären gut beraten, wenn Sie es noch einmal versuchen würden. "Das absolute Minimum jeder Softwareentwickler sollte Unicode kennen "
Außerdem müssen Ihr Terminal (Ihre Bash-Sitzung), der Terminal-Emulator (Putty) und die DB-Konsole (MySQL) wissen, mit welcher Codierung sie es zu tun haben. Es ist am besten, sie über UTF-8 zu informieren und dann mit UTF-8 zu arbeiten Daten.
quelle