- PR -

WindowsとLinux環境の文字コード変換

1
投稿者投稿内容
未記入
会議室デビュー日: 2004/10/02
投稿数: 1
投稿日時: 2004-10-02 00:39
始めて投稿します。どうぞ力をお貸し下さい。

Windows環境の下に下記の ekiSearch.jsp は、うまく稼動していますが、ファイルをそのままLinuxにアップすると問題が起きました。

ekiSearch.jsp:

 PrintWriter out = response.getWriter();
out.setContentType("text/html;charset=shift-jis");

 String eki = out.getParameter("eki");
eki = new String(eki.getBytes("iso-8859-1","shift-jis"));

URL searchURL = new URL("http://eki.com/ekiSearch.cgi?eki=" + eki);
// 入力ストリームを生成
BufferedReader in = BufferedReader in = new BufferedReader(
new InputStreamReader(
searchURL.openStream()));

// 一行ずつ読み込みます
String line;
StringBuffer sb = new StringBuffer();
while ((line = in.readLine()) != null) {
sb.append(line + "\n");
}
out.println(sb.toString());

IEで検索したい駅名(例:新宿駅)を日本語で入力してsubmitしたら、Windowsの
ekiSearch.jspファイルは、5件の検索結果を返します。その一方、Linuxバージョンは
0件です。

 文字コードの問題だと思うんですが自分で解決できません。ご存知のかた、ご教授お願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-10-02 05:37
古いサーブレットコンテナはデフォルトのエンコーディングが"ISO-8859-1"になっていると期待してはいけません。
コンテナのベンダ、バージョンについてかかれていないので関係ないかもしれませんが。

> 文字コードの問題だと思うんですが自分で解決できません。
文字列を扱っている箇所がいくつかありますが、まずどこで文字化けが発生しているか確認してみてはいかがでしょうか?
1

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