在debian的mysql控制台上的utf8希伯来语(通过windows上的putty)


0

我有一个在linode.com上托管的debian linux上运行的sql server 我的一些数据中有希伯来字符。

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

我甚至不确定问题出在哪里,但我猜它要么是mysql控制台,要么是腻子,这会让希伯来语失去意义。

数据本身是o.k. (我知道这是因为它也可以通过网页进行访问,显示效果很好)。

关于我应该做什么来为这个场景启用希伯来语的任何想法?

谢谢。


“数据本身就是o.k.” - 只是因为它 容貌 好吧,并不意味着它,请参阅下面的答案以获得更多帮助。
Lee Hambley

真正。但它确实是o.k. :)
epeleg

Answers:


0

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

您应首先检查数据库编码和表的个别编码。编码指的是内部存储...一个很好的例子可能是你正在存储 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)和数据库控制台(mysql)都必须知道他们正在处理什么编码...最好告诉他们UTF-8 ......然后使用UTF-8数据。


我的数据库中使用CHARSET = utf8创建的所有表。
epeleg

假设实际数据是o.k,下一步要检查的是什么。 ? Q不是字符编码,我很清楚它们是什么。真正的Q是mysql管理控制台有一些秘密参数告诉它使用utf8吗?对于腻子也一样。
epeleg

实际上已经像我一样再次声明了myQ我去看了mysql的参数,确实--default-character-set = utf为我解决了问题。谢谢。
epeleg

很高兴,你看看了......对于Charsets的“回到学校”的初级读物,对不起,但是值得越过Ts并点击Is这个东西!感谢你的接纳
Lee Hambley
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.