utf8 hebräisch auf der MySQL-Konsole unter Debian (über Putty unter Windows)

0

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.

Epeleg
quelle
"Die Daten selbst sind in Ordnung" - nur weil sie in Ordnung aussehen , heißt das nicht, dass dies der Fall ist. Weitere Hilfe finden Sie in der Antwort unten.
Lee Hambley
wahr. aber es ist in der Tat in
Ordnung

Antworten:

0

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-1damit die Datenbank nur erwartet ISO-8859-1, aber wenn einige der Daten auf Hebräisch sind, sind diese Zeichen nicht validin ISO-8859-1..., aber wenn die Clients die Daten eingeben Wenn Sie es mit ISO-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.

Lee Hambley
quelle
Alle Tabellen in meiner Datenbank wurden mit CHARSET = utf8 erstellt.
Epeleg
Was wäre die nächste zu überprüfende Sache, vorausgesetzt, die tatsächlichen Daten sind in Ordnung? Das Q war nicht, was Zeichencodierungen sind, ich bin mir dessen bewusst, was sie sind. Ist die eigentliche Frage, ob die MySQL-Administratorkonsole über einen sicheren Parameter verfügt, der angibt, dass utf8 verwendet werden soll? und das gleiche für Kitt.
Epeleg
Nachdem ich tatsächlich mein Q noch einmal angegeben hatte, ging ich zu den Parametern, die mysql hat, und tatsächlich --default-cahracter-set = utf reparierte die Dinge für mich. Vielen Dank.
Epeleg
Schön, dass du einen Blick darauf geworfen hast ... Entschuldigung für die Grundierung "Back to School" bei Charsets, aber es lohnt sich, die Ts zu überqueren und die Is auf dieses Zeug zu setzen! Vielen Dank für die Annahme
Lee Hambley