この素晴らしいフォーラムで学んだこのスクリプト(http://jsfiddle.net/6t74T/4/ )を使用しています。JQueryオートコンプリートを使用します。このスクリプトは、発音区別符号(アクセント付き文字)を除いて、私たちの目的に最適です。フォーラムにはアクセント付き文字やutf-8などに関する投稿がたくさんありますが、これはデータの保存方法とは少し異なります。これが私たちの問題を説明する例です。
誰かが「人」テーブルに人の名前を追加すると、入力された文字列にアクセント付き文字がないかチェックされます。ある場合は、それらをhtmlエンティティに変更します。そのため、「Añosa」は「A&ntilde;osa」に変更されます。システム内の他のいくつかのプロセスが発音区別符号によってひどく混乱するため、アクセント付きの文字でデータを保存しません。このデータを含むページを表示すると、単なるhtmlであるため、正しく表示されます。PHPとMySQLを使用しています。MySQLテーブルはUTF-8に設定されており、すべてのページのヘッダーで<meta http-equiv = "content-type" content = "text / html; charset =utf-8"/>を使用します。"accept-charset=フォームタグの「UTF-8」」。すべて良い。
ただし、アクセント記号付きの名前がオートコンプリートリストに表示されると、htmlエンティティとともに表示されます。必要なリストに「Añosa」が表示される代わりに、「A&ntilde;osa」が表示されます。str_replace( "A&ntilde; osa"、 "Añosa"、$ string)などのhtmlエンティティでstr_replaceを実行しようとしましたが、これにより、アクセント記号の代わりに疑問符記号が付いた黒いひし形の1つになります。html_entity_decodeを試しました-これも機能しません。これをオートコンプリートリストにアクセント付きの形式で表示するには、何をする必要がありますか?
洞察、アイデア、支援に感謝します!ありがとう!