Atsushi Kanaya
todoa****@gmail*****
2010年 6月 17日 (木) 09:15:11 JST
田中さん 金谷です。 > (b) IE8で 『システム エラー: -1072896658』が出る件 > > WebApplicationの init()で > > getRequestCycleSettings().setResponseRequestEncoding("Windows-31J"); > getMarkupSettings().setDefaultMarkupEncoding("Windows-31J"); > > を入れるとこのエラーが出るようです。『Windows-31J』が正式名称として間違っている??? > > ※HTMLファイルのcharsetは『Windows-31J』としています。 Windows-31Jという名称に特に間違いはないと思います。 > getRequestCycleSettings().setResponseRequestEncoding("Windows-31J"); は実際にブラウザに返すレスポンスHTMLの文字コードになります。 この場合はWindows-31jが返ります。 その結果、UTF-8がもっぱら利用されているらしいAjaxと 文字コードの不整合が発生しているのではないか?というのが私の予想です。 > getMarkupSettings().setDefaultMarkupEncoding("Windows-31J"); こちらは、記述しているHTMLファイルの文字コードを指定する部分です。 うちでは、前者はUTF-8、後者はWindows-31jを使っていますが、 そのような設定ではAjax通信周りで問題発生しませんでした。 > (c) IE8での 『wicket-autocomplete.js』 の「引数が無効です」のエラーは解決していません。 確認しましたが、こちらでは上記をコピーしたJavaScriptを使用していました。 Firefoxでの日本語処理対応とかエラー対策とかを独自に入れていたようです。 問題の箇所は下記のように書き換えておりました。 container.style.zIndex=(!isNaN(Number(index))?Number(index)+1:index); ご参考になれば幸いです。 以上、よろしくお願いします。 2010年6月16日17:10 エルコム 田中 <tanak****@elcom*****>: > 田中です。 > > 日本語でのオートコンプリートが解決したのでご報告致します。 > > (a)日本語を入力した時に無反応だったのは文字化けしたままstartsWithで比較していたため、対応する単語が空となってしまっていたようです。 > > input = new String(input_sjis.getBytes("ISO8859_1"), "UTF-8"); > > 文字コードを変換したらちゃんとリストが表示されるようになりました。 > > (b) IE8で 『システム エラー: -1072896658』が出る件 > > WebApplicationの init()で > > getRequestCycleSettings().setResponseRequestEncoding("Windows-31J"); > getMarkupSettings().setDefaultMarkupEncoding("Windows-31J"); > > を入れるとこのエラーが出るようです。『Windows-31J』が正式名称として間違っている??? > > ※HTMLファイルのcharsetは『Windows-31J』としています。 > > (c) IE8での 『wicket-autocomplete.js』 の「引数が無効です」のエラーは解決していません。 > > > ----- 以下日本語オートコンプリート解決ソースコード------------ > AutoCompleteTextField widText_torihikisakiName = new > AutoCompleteTextField("widText_torihikisakiName", new > PropertyModel(seibansakuseiFormVo, "torihikisakiName")){ > @Override > protected Iterator<String> getChoices(String input_sjis){ > if (Strings.isEmpty(input_sjis)) { > List<String> emptyList = Collections.emptyList(); > return emptyList.iterator(); > } > > String input = ""; > try { > input = new String(input_sjis.getBytes("ISO8859_1"), "UTF-8"); > } catch (UnsupportedEncodingException e) { > // TODO 自動生成された catch ブロック > e.printStackTrace(); > } > > List<String> choices = new ArrayList<String>(10); > > Locale[] locales = Locale.getAvailableLocales(); > > for (final Locale locale : locales) { > final String country = locale.getDisplayCountry(); > > if (country.toUpperCase().startsWith(input.toUpperCase())) { > choices.add(country); > if (choices.size() == 10) { > break; > } > } > } > return choices.iterator(); > } > }; > widForm_seibanShinkisakusei.add(widText_torihikisakiName); > > ----------------------------------------------------------------------------------------------- > > _______________________________________________ > Wicket-ja-user mailing list > Wicke****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user >