关于python:Debian上mysql控制台上的utf8希伯来语(通过Windows上的putty)

关于python:Debian上mysql控制台上的utf8希伯来语(通过Windows上的putty)

我的 SQL 服务器运行在 linode.com 托管的 Debian Linux 上,我的部分数据中包含希伯来字符。

我正在通过 Windows 7 上的 putty ssh 连接到服务器。当我运行 sql 管理控制台(mysql)并执行选择查询时,所有希伯来语字符都显示为“?”。

我甚至不确定问题出在哪里,但我猜测是 mysql 控制台或者 putty 丢失了希伯来语。

数据本身没有问题(我知道这一点是因为它也可以通过网页访问,并且显示正常)。

关于我应该做什么才能在这种情况下启用希伯来语,有什么想法吗?

谢谢。

答案1

字符编码有一点变化,可能是您的数据(毕竟都是二进制的)。

您应该首先检查数据库的编码和表的单独编码。编码指的是内部存储……一个很好的例子可能是您正在存储,ISO-8859-1因此数据库只需要ISO-8859-1,但如果某些数据是希伯来语,这些字符就不validISO-8859-1……但如果客户端输入和输出数据时使用的是ISO-8859-8(希伯来语),它看起来大部分情况下都是可行的。

这里是 MySQL 关于该主题的指南。

我建议(如果可能)您使用 UTF-8,原因有很多,但请不要盲目更改数据库编码,因为这不会重新编码数据,而只是通知 MySQL 应将其视为 UTF8。(如果源是 ISO-8859-1 或 ISO-8859-8,这将损坏您的数据。这里是另一本关于字符编码的入门书,你最好仔细阅读一遍。“任何软件工程师都应该了解的关于 Unicode 的最低限度的知识”

此外,您的终端(您的 bash 会话)、终端仿真器(putty)和 db 控制台(mysql)都必须知道它们正在处理的编码...最好告诉它们 UTF-8...然后使用 UTF-8 数据。

相关内容