2013-02-01 29 views
0

我有一個簡單的表單(通過php)將一些變量發送到mySql數據庫。當使用不尋常的字母/符號時,MySql數據庫無法正確存儲數據

問題是,它的重點是葡萄牙的觀衆,我們使用幾個不尋常的字母,如「ç」和「ã」。每當有人用這些字母發送數據時,phpMyAdmin中的結果會非常「亂碼」。

在phpMyAdmin中,一個字段的簡單示例是「Escola deConduçãoClássica」apears爲「4573636f6c6120646520636f6e6475c383c2a7c383c2a36f20436c617373696361」。

我嘗試將排序規則設置爲「utf8_bin」,但無濟於事。

任何意識?

謝謝。

編輯:字段類型是varchar(30)和charset顯示爲「utf8」。

+0

1)您沒有告訴我們您存儲數據的字段的**類型是什麼,2)phpMyAdmin是管理MySQL的「軟件」的最差類型,3)utf8_bin是**排序規則**這是排序字母的規則,它不是正在使用的字符集(它應該是utf8,使用'SHOW CREATE TABLE tablename'並檢查正在使用的字符集是什麼)。 –

+0

這可以幫助http://stackoverflow.com/questions/6305947/portuguese-charset-problem –

+0

對不起,我應該更具體。我會更新這個問題。 – FoxLift

回答

0

我發現了這個問題。原來我只需要打電話給我的主機來改變php設置。我希望事先已經嘗試過,但我認爲這是我的錯。另外,考慮到它是一個基於葡萄牙(歐洲)的託管服務,對於他們來說除UTF-8以外還有其他編碼是沒有意義的。

無論如何,如果有人得到這個錯誤,請嘗試詢問在PHP設置中使用哪種編碼(它應該是UTF-8在我的情況下,可能會有所不同)。

是的,這個問題花了一段時間,因爲我最終忽略了它,但我不得不在最近不同的網站(使用相同的託管)做類似的事情。

0

ALTER TABLE mytable轉換爲字符集UTF8

+0

雖然這工作解碼字段,不尋常的字母仍然還沒有解碼。我現在在「Escola deconduçãoClassica」中有相同的字段。正如你所看到的,「行爲」成爲「行爲」。 – FoxLift

+0

嗯。我想知道這是否是您的瀏覽器。我同意不使用phpAdmin作爲「查看工具」。但是,使用ALTER TABLE'mytable'轉換字符集latin1會發生什麼? – Jimzie

+0

顯示相同,不變。 – FoxLift

相關問題