2014-04-01 30 views
1

我將節省元音變音器在MySQL分貝,所以我有一個textarea將與表格保存。如果我不使用任何變音,它會保存正確,但如果我使用其中一個元音變音,它停止保存點變音開始點,也切斷了文本的其餘部分。變音器不會保存在mysql

所以我知道utf -8和我在我的mysql連接

mysql_query("SET NAMES 'utf8'"); 
mysql_query("SET CHARACTER SET 'utf8'"); 

但我能做些什麼來保存這個正確?

我使用mysql_real_escape_string和htmlspecialchars來保存,但有什麼東西要轉換或任何種類?

+0

列/數據庫的排序規則是什麼? ['SHOW TABLE STATUS'](http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html)顯示有關表格的信息,包括排序規則。 –

+0

你確定它沒有正確保存嗎?我曾經想過同樣的事情,但事實證明PhpMyAdmin沒有正確顯示數據庫內容。 –

+0

SHOW TABLE STATUS向我顯示一些信息,但沒有任何關於排序規則?或需要哪些信息? – Dave

回答

1

MySQL能夠存儲這些字符,因此您不需要htmlspecialchars將其存儲在我的MySQL數據庫中。一旦你找回並想要打印它,你可能想使用htmlspecialchars,但它並不總是必要的。您刪除htmlspecialchars後會得到什麼行爲?

+0

我也嘗試過不使用htmlspecialchars,但結果相同 – Dave

+0

您是否試圖「手動」將其插入MySQL數據庫?在中,不使用變量輸入,而是簡單地執行一個查詢,例如'INSERT INTO some_table(some_field)VALUES('Testingümlaut')'? –

+0

一個快速的想法,你確定你有你的MySQL表設置正確,所以它需要這些字符?我隱約記得一個問題,就像你設置錯誤的排序方式一樣,它也不起作用,不確定。檢查你的字符集和排序規則是否都設置爲utf8 –