0

私は現在、フォーラムのスパム送信者を捕まえるためにハニーポットを実行しています。データベースに非ラテン文字を保存する際に問題がありました。データベースとテーブル レベルで utf8_unicode_ci を設定し、mysql_query("SET NAMES 'utf8'") を使用して作成しています。情報がutf8として送信されていることを確認してください。

時刻などの情報は int として格納されます。IP、ユーザー名などは Varchar およびテキストとして保存されます。スパム データとの唯一の違いは、データを挿入する前に base64_encode(htmlspecialchars()) を使用することと、スパム列が中程度の BLOB に保存され、COMPRESS( を使用することです。 ) をその列のクエリで使用します。

ラテン文字では正しいデータが返されますが、ロシア語やタイ語などの非ラテン文字では正しいデータが返されません。

例えば:

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

次のように返されます。

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

または、疑問符が付いたひし形だけです。

何年も前にフォーラムを作成したとき、この情報を正しく保存することができましたが、どのようにして正しく保存したか思い出せません。

編集:助けがあれば追加情報。

  • アパッチ/2.2.14 (Ubuntu)
  • MySQL クライアントのバージョン: 5.1.41
  • PHP 拡張機能: php5-mysql
4

1 に答える 1

1

私のドメインからメイン ハブにスパムの送信を送信するheader("Content-Type: text/html; charset=utf-8");ページには、ページが破損していたことが判明しました。

于 2011-10-31T02:58:34.563 に答える