テーブルの照合順序を utf8_unicode_ci に設定したので、たとえば MONÁE で検索すると、MONAE と MONÁE でもヒットします。正常に動作します。
そもそもテーブルにデータを入力するスクリプトに問題があります。
スクリプトは基本的にどのように機能しますか...
これは、php オブジェクト配列を反復処理し、データを mysql の一意の列にダンプすることによって、mysql にレコードを作成します。次に、作成したばかりのレコードの ID (およびデータ) (または、レコードが既に存在する場合は一致するレコードの ID) を mysql から取得し、php オブジェクト配列でそのデータを見つけ、mysql ID をスクリプトでさらに解析するために、配列内の一致したオブジェクト。
成功したエントリの例...
簡単にするために、php 配列にレコードが 1 つだけあるとします。
デビッド
David は mysql に登録され (以前はありませんでした)、作成された mysql ID が 7 であることがわかりました。
DAVID の php 配列を検索し、ID キーとして 7 を挿入します。次に、必要な解析を正常に完了します。
問題記入例・・・
繰り返しますが、1 つのレコードを扱います...
モナー
(アクセントの異なる MONÉ は mysql に既に存在することに注意してください)...
問題 1:一意の列に MONÁE が入力されないのは、照合で MONÁE と MONÁE が等しいと見なされるためだと思います。
問題 2私の php が mysql で MONÁE の ID を検索すると、代わりに MONÁE の ID とデータ MONÁE が返されます。
問題 3 php は php 配列で MONÁE を検索するようになりましたが、見つかりません (MONÁE がそこにあるため)
mysql id が配列に挿入されず、残りの解析が失敗します。
1 と 2 を解決するために 3 日間費やしました。問題を回避する方法はありますか?
乾杯!!