2011-10-29 64 views
0

我目前運行的蜜罐趕論壇垃圾郵件發送者,我一直與我的數據庫存儲非拉丁字符的問題,我對數據庫和表級別utf8_unicode_ci集我用mysql_query(「SET NAMES'utf8'」)確保信息以utf8發送。問題存儲在MySQL數據庫中的非拉丁字符

諸如時間之類的信息存儲爲int。 IP,用戶名等存儲爲Varchar和文本,與垃圾郵件數據的唯一區別是我在插入數據之前使用了base64_encode(htmlspecialchars()),並且垃圾郵件列存儲在中等blob中,並使用COMPRESS( )在該列的查詢中。

隨着拉丁字符它返回正確的數據,但非拉丁字符,如俄羅斯和泰國也不會返回正確的數據。

例如:

Уровня конечного начальники или не 

會返回:

Ð£Ñ€Ð¾Ð²Ð½Ñ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð³Ð¾ начальнР

或只是鑽石,在它們的問號。

幾年前,當我創建了一個論壇時,我設法正確地存儲了這些信息,但我不記得我是如何設法正確存儲的,我一整天都在搜索,一直沒能找到一個可以工作的解決方案爲了我。

編輯:如果它的任何幫助 額外的信息。

  • 的Apache/2.2.14(Ubuntu的)
  • MySQL客戶端版本:5.1.41
  • PHP擴展:PHP5-MySQL的
+0

你在你的網頁上有什麼樣的編碼?它是UTF-8嗎? –

+0

utf8在元標記中設置,並通過標題(「Content-Type:text/html; charset = utf-8」)設置; – Connorw600

+0

你能發表你的CREATE語句嗎? –

回答

1

原來,從發送垃圾郵件提交的頁面我到主集線器的域名沒有header("Content-Type: text/html; charset=utf-8");因此,當對頁面進行查詢時,它在那裏被破壞。

相關問題