簡體   English   中英

在mysql數據庫中存儲非拉丁字符的問題

[英]Problems storing non-latin characters in mysql database

我目前正在運行蜜罐來捕獲論壇垃圾郵件發送者,並且在將非拉丁字符存儲在數據庫中時遇到了問題,我在數據庫和表級別設置了utf8_unicode_ci,並且使用mysql_query(“ SET NAMES'utf8'”)進行設置確保信息以utf8的形式發送。

時間之類的信息存儲為int。 IP,用戶名等以Varchar和文本形式存儲,與垃圾郵件數據的唯一區別在於,在插入數據之前,我使用base64_encode(htmlspecialchars()),垃圾郵件列存儲在中等大小的blob中,而我使用COMPRESS( )在該列的查詢中。

對於拉丁字符,它將返回正確的數據,但是對於非拉丁字符(例如,俄語和泰語),它將不會返回正確的數據。

例如:

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

將返回為:

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

或只是帶有問號的鑽石。

幾年前,當我創建一個論壇時,我設法正確地存儲了這些信息,但是我不記得如何設法正確地存儲了該信息,我整天都在搜索,卻找不到適合我的解決方案。

編輯:額外的信息,如果有幫助。

  • Apache / 2.2.14(Ubuntu)
  • MySQL客戶端版本:5.1.41
  • PHP擴展名:php5-mysql

原來,從我的域向主要中心發送垃圾郵件提交的頁面沒有header("Content-Type: text/html; charset=utf-8"); 因此,對頁面進行查詢時,該頁面已在那里損壞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM