
我的 sql 伺服器運行在 linode.com 託管的 debian linux 上,我的一些資料中包含希伯來語字元。
我在 Windows 7 上透過 putty ssh 連接到伺服器。
我什至不確定問題出在哪裡,但我猜是 mysql 控制台或 putty 丟失了希伯來語。
數據本身沒問題(我知道這一點,因為它也是透過網頁訪問的,它顯示得很好)。
關於我應該做什麼才能在這種情況下啟用希伯來語有什麼想法嗎?
謝謝。
答案1
字元編碼有點變化,可能是您的資料(畢竟只是二進位)。
您應該先檢查資料庫的編碼以及表格的單獨編碼。編碼指的是內部存儲......一個很好的例子可能是您正在存儲,ISO-8859-1
因此數據庫只需要ISO-8859-1
,但如果某些數據是希伯來語,則這些字符不在valid
..ISO-8859-1
但如果客戶端將數據放入,並使用ISO-8859-8
(希伯來語)將其取出,它大部分看起來都有效。
這裡是 MySQL 關於這個主題的指南。
我建議(如果可能的話)您使用UTF-8,有很多原因,但請不要盲目地改變您的資料庫編碼,因為這不會重新編碼數據,而只是通知MySQL它應該被視為 UTF8。 (如果來源是 ISO-8859-1 或 ISO-8859-8,這會損壞您的資料。這裡是另一本有關字元編碼的入門書,您最好重讀一遍。“任何軟體工程師都應該了解 Unicode 的最低限度”
除此之外,你的終端機(bash 會話)、終端模擬器(putty)和資料庫控制台(mysql)都必須知道它們正在處理什麼編碼…最好告訴它們 UTF-8…然後使用 UTF-8數據。