テキストにユーロ記号が出現するポイントでデータ挿入プロセスを完全に停止することを除いて、(これまでのところ) すべてを正しく実行するデータ クロール エンジンを作成しました。私は、このシンボルだけが唯一のものではないかもしれないと信じています.
データベーステーブルに挿入しようとしている文字列が次のようになっている場合:
Quick brown € fox jumped over the laizy dog.
これはデータベースになります:
Quick brown
私の問題は、まさにこの問題についてこのサイトにあるいくつかの指示に従いましたが、運が悪かったことです。
これを修正するために私がすでに行ったこと(php-side):
次のことを確認しました。
mysqli_set_charset($dblink, "utf8");
mysqli_real_escape_string($dblink, $string);
試してみました:
iconv('windows-1250','utf8//TRANSLIT', $string );
iconv('windows-1250','utf8', $string );/*crawled web page declared windows-1250 characterset*/
(ここでは、€ 記号を保持したままデータ挿入を完了することに成功しましたが、他のラテン文字 čćšđž は完全に劣化していました)
- 他のいくつかの試み
mb_convert_encoding()
Accept
とAccept-Charset
ヘッダーを使用してサーバーの応答を変更しようとします
mysql 側:
テーブルとフィールドは utf8_unicode_ci に設定されました
utf8に修正しようとしましDEFAULT CHARACTER SET
た(既存の空でないデータベースに修正しました)
失敗。何をしようとしても、挿入プロセスは € 記号で停止します。
誰か私が何をすべきか知っていますか?