.png)
Mein SQL-Server läuft auf einem Debian-Linux und wird bei linode.com gehostet. Einige meiner Daten enthalten hebräische Zeichen.
Ich verbinde mich mit dem Server über Putty SSH unter Windows 7. Wenn ich die SQL-Administratorkonsole (MySQL) ausführe und eine Auswahlabfrage ausführe, werden alle hebräischen Zeichen als „?“ angezeigt.
Ich bin nicht einmal sicher, wo das Problem liegt, aber ich vermute, dass entweder die MySQL-Konsole oder Putty das Hebräische verliert.
die Daten selbst sind in Ordnung (ich weiß das, weil sie auch über eine Webseite abgerufen werden, auf der sie einwandfrei angezeigt werden).
irgendwelche Ideen, was ich tun sollte, um Hebräisch für dieses Szenario zu aktivieren?
Danke.
Antwort1
Zeichenkodierungen unterliegen ständigen Veränderungen. Es könnte sein, dass Ihre Daten (die letztlich alle nur binär sind) fehlerhaft sind.
Sie sollten zunächst die Kodierung Ihrer Datenbank und die individuelle Kodierung der Tabelle überprüfen. Die Kodierung bezieht sich auf den internen Speicher. Ein gutes Beispiel könnte sein, dass Sie ISO-8859-1
so speichern, dass die Datenbank nur erwartet ISO-8859-1
, aber wenn einige der Daten auf Hebräisch sind, sind diese Zeichen nicht valid
in ISO-8859-1
… Wenn die Clients, die die Daten eingeben und abrufen, jedoch ISO-8859-8
(Hebräisch) verwenden, scheint es meistens zu funktionieren.
Hierist ein Leitfaden von MySQL zu diesem Thema.
Ich würde (wo möglich) empfehlen, dass Sie UTF-8 verwenden. Dafür gibt es eine Reihe von Gründen, aber bitte, bitte ändern Sie die Kodierung Ihrer Datenbank nicht blind, da dies die Daten nicht neu kodiert, sondern MySQL lediglich mitteilt, dass sie wie UTF8 behandelt werden sollen. (Dies wird Ihre Daten beschädigen, wenn die Quelle ISO-8859-1 oder ISO-8859-8 ist.Hierist eine weitere Einführung in die Zeichenkodierung, und Sie tun gut daran, diese einmal durchzusehen.„Das absolute Minimum, das jeder Softwareentwickler über Unicode wissen sollte“
Darüber hinaus müssen Ihr Terminal (Ihre Bash-Sitzung), Ihr Terminalemulator (Putty) und Ihre Datenbankkonsole (MySQL) wissen, mit welcher Kodierung sie arbeiten. Am besten sagen Sie ihnen UTF-8 … und arbeiten dann mit UTF-8-Daten.