jquery uiコンボボックスにアラビア語を表示するWebアプリを開発しています.IEとfirefoxでは完全に機能していますが、chromeは単語を別々の方法で表示しています!
コンボボックスとドロップダウンリストで2つのsonyの違いを見ることができます
ここに私のメタがあります
<meta http-equiv="content-type" content="text/html";charset="utf-8" />
データは照合を使用してSQLサーバーに保存されます
jquery uiコンボボックスにアラビア語を表示するWebアプリを開発しています.IEとfirefoxでは完全に機能していますが、chromeは単語を別々の方法で表示しています!
コンボボックスとドロップダウンリストで2つのsonyの違いを見ることができます
ここに私のメタがあります
<meta http-equiv="content-type" content="text/html";charset="utf-8" />
データは照合を使用してSQLサーバーに保存されます
コメントで言及されているページhttp://jqueryui.com/demos/autocomplete/#comboboxを Chrome F12 エディタで見ると、このブラウザでは、jQuery で生成されたドロップダウン リストのような要素がfoo
表示され、各文字が別のstrong
要素内: <strong>f</strong><strong>o</strong><strong>o</strong>
. Firefox では、select
代わりに生成された要素が表示され<option>foo</option>
ます。これは、ブラウザの違いに対応しようとするjQueryに依存していると思います。
いずれにせよ、 のようなマークアップ<strong>f</strong><strong>o</strong><strong>o</strong>
は、ラテン アルファベットのテキストにはほとんど無害ですが、ブラウザが各文字を独立したものとして扱い、独立したグリフ形式を使用する可能性があるため、アラビア語のテキストをひどく台無しにする可能性があります。参照。質問へHTML の部分的に色付けされたアラビア語.
jQueryをよく知っている人がこれを修正するための提案を思いつくことを願っています. 必要なのは、文字を のように区切らないようにすること<strong>f</strong><strong>o</strong><strong>o</strong>
だけ<strong>foo</strong>
ですfoo
。
私はしませんでした;)jquery uiコンボボックスjavascriptでは、この機能があります
if (this.value && (!request.term || matcher.test(text))) return {
label: text.replace(
new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<span></span>"),
value: text,
option: this
};
「gi」を削除したので、コードは
if (this.value && (!request.term || matcher.test(text))) return {
label: text.replace(
new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", ""), "<span></span>"),
value: text,
option: this
};
そして今はうまくいっています:D
これは、文字セットではなく、使用するフォントによって異なります。
スクリーンショットからわかるように、「Sony」のラテン語の変種でさえわずかに異なります (Y に注意してください)。どちらの場合も同じフォントを使用するようにしてください。