[英]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( )在該列的查詢中。
對於拉丁字符,它將返回正確的數據,但是對於非拉丁字符(例如,俄語和泰語),它將不會返回正確的數據。
例如:
Уровня конечного начальники или не
將返回為:
Ð£Ñ€Ð¾Ð²Ð½Ñ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð³Ð¾ начальнÐ
或只是帶有問號的鑽石。
幾年前,當我創建一個論壇時,我設法正確地存儲了這些信息,但是我不記得如何設法正確地存儲了該信息,我整天都在搜索,卻找不到適合我的解決方案。
編輯:額外的信息,如果有幫助。
原來,從我的域向主要中心發送垃圾郵件提交的頁面沒有header("Content-Type: text/html; charset=utf-8");
因此,對頁面進行查詢時,該頁面已在那里損壞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.