PDA

View Full Version : extを使う際の文字コードについて



ak_ext
7 Apr 2009, 11:48 PM
UTF-8でファイルを作成して
extのgridやカレンダーを使っているのですが、
Windows-31Jで作成しても問題ないでしょうか。

Kazuhiro Kotsutsumi
8 Apr 2009, 12:05 AM
基本的に、Ext JS 自体のコードはASCIIで成り立っているため、他の文字コードで使用しても問題はありません。実際に、Ext JS LLCの方で作っているアプリでもUTF-8でないものもあります。(iso-8859-1)
しかし、内部で日本語を使用することを考えるとUTF-8で構築するのがよいと思います。

ご参考になれば。

amanoman
8 Apr 2009, 3:53 AM
私も、日本語が含まれるならばUTF-8が無難だと思います。
ページ自体(htmlやjsファイル)は一般的なエンコードタイプならば大丈夫なのですが、AjaxでresponseTextのエンコード対応がブラウザーによって異なる為、どのブラウザーでも安定して日本語が変換されるUTF-8にすることが多い見たいです。

ページ自体のエンコードと、Ajax通信のエンコードが異なると面倒なので結果的にページ自体のエンコードもUTF-8にする事が無難だと思います。

参考までに…

ak_ext
9 Apr 2009, 8:21 PM
開発環境がDBなどshift-jisで
全部それに統一するように言われているのですが、
shift-jisにした場合のextの問題点の回避方法などを
ご教授頂けないでしょうか。

amanoman
10 Apr 2009, 12:29 AM
ページのエンコードをUTF-8以外にする場合、日本語のlocaleを利用している時に注意が必要です。
/source/locale/ext-lang-ja.jsファイルは、UTF-8で書かれているのでscriptタグでエンコードを指定する必要があります。

サンプル


<script type="text/javascript" charset="utf-8" src="../../source/locale/ext-lang-ja.js"></script>


後は、サーバーサイドと各種ブラウザーでAjaxを利用した場合に問題がないかを確認する必要があるかなぁ…:-?

ak_ext
20 Apr 2009, 12:34 AM
ext以外はすべてwindows-31jで統一
画面のテキストボックスで検索条件を日本語で入力
httpProxyでサーブレットに繋いで検索条件を取得しようとすると
条件が文字化けしています。

これはextのソースがutf-8でレスポンスがそれで帰ってくるからでしょうか?
できればwindows-31jは変えたくないのですが、
どのようにすればよいのでしょうか。。

Kazuhiro Kotsutsumi
20 Apr 2009, 2:36 AM
なんとなーく環境がはっきりわからないので、外していたらごめんなさい。

表示しているページがsjis-winであろうと無かろうと、Ajaxで通信する場合は、UTF-8で送信されるみたいです。ぐぐってみたら。

で。

送信前に、encodeURIComponent( '文字列' )で変換すれば、ページの文字コードで送信されるみたいですね。

あくまて、ページに


<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">

とちゃんと文字コードを設定しておく必要がありますが。

ちょっと時間が無いんでテストコードまでかけませんでしたが、参考になれば。

kenichiro
21 Apr 2009, 2:55 AM
Shift_JIS(Windows-31J)の環境で使ったりしていますが、Servletだと、コンテナやServletでのエンコーディングの設定も影響もあるかもしれませんね。リクエストについては。

Ajaxでの、サーバからのレスポンスの処理は、私が試したときは、UTF-8でないとうまくいかなかったです。その部分のみUTF-8で返すようにしました。