- PR -

文字コード変換について(Solaris,Tomcat)

1
投稿者投稿内容
げん
会議室デビュー日: 2005/09/03
投稿数: 3
投稿日時: 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
投稿数: 3
投稿日時: 2005-09-03 21:47
追記です。
わらをもすがる思いですので、些細な情報でもかまいません。

Java文字コード変換手法全般のURLや参考になりそうな情報があれば返信お願いします。

また、こちらの掲示板での書き込みが不適切であれば、情報が得られそうな
場所をご紹介いただければと思います。

すみませんがよろしく尾根がします。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2005-09-03 22:37
私も答えは持ってませんが、お困りのようなので気になることを少々。

引用:

ところが、一部参照先のDBが、EUCベースであるため、上記環境変数では、



このDBの種類はなんですか?
それが分からないと回答は難しいのでは。

引用:

一番ベストな方法は、Solarisの環境変数や、tomcatの設定ファイル、アプリのweb.xmlれべるで、変更を加えるだけで回避できる方法があれば伝授ください。



これは、多分無理じゃないかと・・・。
・ベースをEUCにして、ファイルのアップロード時に文字コードを明示的にSJISにする。
・ベースをSJISにして、"一部参照先のDB"との接続を明示的にEUCにする。
のどちらかになりそうな気が。

# 私も正解は持ってないので、上記は間違いかもしれません。ご了承下さい。
げん
会議室デビュー日: 2005/09/03
投稿数: 3
投稿日時: 2005-09-04 09:46
書き込みありがとうございます。
DBは、Oracle9iです。DB自体がEUCの文字コードです。

やはり現実的なのは、DBから吸い出したEUC文字をS-JISに変換するのが、現実的でしょうか?

Stringを利用した文字コード変換をいくつか試してみましたが、どうしても”?”になって、
しまいます。

Java文字コード変換について、詳しく記載されているHPありましたらご紹介ください。
ちょま吉
大ベテラン
会議室デビュー日: 2004/08/04
投稿数: 112
投稿日時: 2005-09-04 13:28
引用:

・ベースをEUCにして、ファイルのアップロード時に文字コードを明示的にSJISにする。
・ベースをSJISにして、"一部参照先のDB"との接続を明示的にEUCにする。


・前者ですとサーブレットフィルタでmultipartのリクエストのみ正常なエンコードで解析する。
・後者ですとEUCからUnicode、SJISへの変換、もしくはその逆の変換で文字化けする文字の変換をする。
のような対応があると思います。
つばさ
ベテラン
会議室デビュー日: 2005/02/05
投稿数: 54
投稿日時: 2005-09-04 18:40
http://www.atmarkit.co.jp/fjava/rensai3/mojibake01/mojibake01.html
とか参考になるかと。

また、JAVAPRESS Vol37がよいかと思います。
未記入
常連さん
会議室デビュー日: 2005/02/23
投稿数: 20
投稿日時: 2005-09-05 12:03
OracleにはNLS_CHARSETというパラメータが有りますがそれを正しくセットしていますか?
1

スキルアップ/キャリアアップ(JOB@IT)