2010-04-07 62 views
0

我在包含阿拉伯文腳本的MySQL數據庫中插入數據。雖然輸出正確顯示阿拉伯語,但MySQL中的數據看起來像垃圾。類似這樣的:MySQL中的阿拉伯語腳本錯誤

'صَومُ ثَلاثَةِ أيّامٍ مِن كُلِّ شَهرٍ ـ أربَعاءُ بَينَ خَ 

我應該爲此擔心嗎?如果是的話,我如何讓它出現在MySQL的正確的阿拉伯語腳本中?

回答

2

這些是HTML實體。

如果該文本

صَومُ ثَلاثَةِ أيّامٍ مِن كُلِّ شَهرٍ ـ أربَعاءُ بَينَ خَ

是什麼應該是在你的數據庫,一切都最有可能的罰款:你的阿拉伯語輸入被在沿途的一些點轉化爲這些實體。

要查看上面的實際阿拉伯字符,將它們插入到文本文件中,將其命名爲something.htm並在瀏覽器中將其打開。

您也可以將其轉換爲UTF-8編碼的mySQL表格中的「正確」本機字符,但是如果要獲取指示器,您必須告訴我們您正在使用哪種語言/平臺。

+0

你不訂閱「存儲原始(mysql_real_escape_blah ...),編碼輸出」的辦學思想? – 2010-04-07 21:10:20

+0

@middaparka我通常會這樣做,但是如果他正在使用預先構建的第三方應用程序(它看起來像),除非確實需要IMO,否則沒有理由開始處理其字符處理。 – 2010-04-07 21:11:17

+0

確實 - 我可以看到從長遠來看這是更加痛苦的(搜索的喜悅等),但這就是他所堅持的,那麼它可能不值得短期的不愉快。 – 2010-04-07 21:13:51

1

正如@Pekka所說,那些是HTML實體。

但是,我不禁想到,使用UTF-8(用於數據庫連接和HTML編碼)可以爲您節省一些長期的痛苦。同樣,如果可能(即:如果這是一個「新」系統而不是現有的代碼庫),我建議將原始數據存儲在數據庫中(使用mysql_real_escape_string來防止SQL注入等)和HTML編碼輸出點。

一般情況下,這將使它更容易搜索數據等

+0

我做了你所建議的一切。現在它拋出這個錯誤:不正確的字符串值: '\ XD8 \ XB3 \ xD9 \ X8F \ XD8 \ xA6 ...' 列 'cQuotes' 第1行 – input 2010-04-07 21:47:46