2011-09-29 209 views
1

所有,的具有1M的老問題與字符編碼...字符集編碼問題

我有一個MySQL數據庫設置爲utf8_unicode_ci的字段。我的PHP頁面作爲標題條目<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />。當我使用簡單的表單將西里爾文字符數據發送到數據庫時,例如'гыдлпоо',這些字符在textarea中正確顯示,並被添加到正確顯示的數據庫中。

從數據庫中提取字符時,我的頁面只顯示一系列問號。我使用了mb_detect_encoding($content, "UTF-8,ISO-8859-1", true);,內容是UTF-8,但是不顯示字符。

我搜索了周圍(包括在SO),並嘗試了任何數量的解決方案,無濟於事 - 任何幫助將不勝感激。

非常感謝

+0

在從數據庫獲取數據之前,您是否嘗試過使用SET NAMES'utf8'查詢? – itsmeee

+0

這讓我更接近我需要的地方......我讀過的方法不應該被使用 - 這是正確的嗎? – SW4

+0

你也可以使用mysql_set_charset()函數 - 至少他們在手冊中說這是首選方法http://php.net/manual/en/function.mysql-set-charset.php – itsmeee

回答

2

做您嘗試使用形式

enctype="multipart/form-data" 

? 這可能會有所幫助..它不是必要的文本在您的數據庫中是可讀的..當他們被保存時,他們應該是utf8編碼..你需要他們看起來很好,當你再次輸出字符串

+0

沒有喜悅 - 當顯示沒有問號時 - 但結果仍然沒有有: ? ?омпании(應該是關鍵字) – SW4

3

這樣做的權利mysql_connect()函數和mysql_select_db()之後:

mysql_query("SET NAMES 'utf8'"); 
+0

是否有通過PDO進行連接的等效項? – SW4

+0

我的壞...我擁有它 – SW4