- - PR -
文字コード変換について(Solaris,Tomcat)
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-03 11:00
初めまして、げんと申します。まだまだ、素人ですが、よろしくお願いします。
大変困っておりまして、皆さんのお力をお借りしたいと思います。早速ですが、 ただいま、Solaris9+Tomcat4.1.31+Apache2.0.54環境にてWebアプリを作成しています。 ファイルのアップロード機能を備えており、作成中のアプリは、S-JISベースであり、 何も環境変数に設定しないと、日本語ファイル名の文字化けを起こしてしまうため、 Tomcat起動用Solarisユーザの環境変数に LANG ja_JP.PCK を設定し、文字化けを 回避しています。 ところが、一部参照先のDBが、EUCベースであるため、上記環境変数では、 文字化けを起こしてしまいます。LANG jaにすると、文字化けは回避できますが、 日本語ファイル名の文字化けが発生してしまいます。 上記2つの問題を同時に解消する方法はありますでしょうか? 一番ベストな方法は、Solarisの環境変数や、tomcatの設定ファイル、アプリのweb.xmlれべるで、変更を加えるだけで回避できる方法があれば伝授ください。 もしくは、LANG ja_JP.PCKにした状態で、EUCを適切な文字コードに変換する方法があればお教えください。 | ||||||||
|
投稿日時: 2005-09-03 21:47
追記です。
わらをもすがる思いですので、些細な情報でもかまいません。 Java文字コード変換手法全般のURLや参考になりそうな情報があれば返信お願いします。 また、こちらの掲示板での書き込みが不適切であれば、情報が得られそうな 場所をご紹介いただければと思います。 すみませんがよろしく尾根がします。 | ||||||||
|
投稿日時: 2005-09-03 22:37
私も答えは持ってませんが、お困りのようなので気になることを少々。
このDBの種類はなんですか? それが分からないと回答は難しいのでは。
これは、多分無理じゃないかと・・・。 ・ベースをEUCにして、ファイルのアップロード時に文字コードを明示的にSJISにする。 ・ベースをSJISにして、"一部参照先のDB"との接続を明示的にEUCにする。 のどちらかになりそうな気が。 # 私も正解は持ってないので、上記は間違いかもしれません。ご了承下さい。 | ||||||||
|
投稿日時: 2005-09-04 09:46
書き込みありがとうございます。
DBは、Oracle9iです。DB自体がEUCの文字コードです。 やはり現実的なのは、DBから吸い出したEUC文字をS-JISに変換するのが、現実的でしょうか? Stringを利用した文字コード変換をいくつか試してみましたが、どうしても”?”になって、 しまいます。 Java文字コード変換について、詳しく記載されているHPありましたらご紹介ください。 | ||||||||
|
投稿日時: 2005-09-04 13:28
・前者ですとサーブレットフィルタでmultipartのリクエストのみ正常なエンコードで解析する。 ・後者ですとEUCからUnicode、SJISへの変換、もしくはその逆の変換で文字化けする文字の変換をする。 のような対応があると思います。 | ||||||||
|
投稿日時: 2005-09-04 18:40
http://www.atmarkit.co.jp/fjava/rensai3/mojibake01/mojibake01.html
とか参考になるかと。 また、JAVAPRESS Vol37がよいかと思います。 | ||||||||
|
投稿日時: 2005-09-05 12:03
OracleにはNLS_CHARSETというパラメータが有りますがそれを正しくセットしていますか?
|
1