0

テーブルの照合順序を 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 日間費やしました。問題を回避する方法はありますか?

乾杯!!

4

1 に答える 1