Solaris10 + Tomcat5 + 文字コード = 文字化けを解決する

Solaris9,Solaris10 で、Tomcat5.5を運用している。

ファイルアップロードすると、ファイル名が文字化けするのでこれを解消したい。

今回は、UTF-8での指定にした。Shift_JIS、EUC_JPでもいけると思うんだけど。

 

■Tomcat内での文字コードを指定する

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// UTF-8を指定する
response.setContentType("text/html;charset=UTF-8");
// 後略

 

 ■Solarisでの文字コードを指定する

$ cd
$ vi .profile

 .profileに以下を追加する。

LANG=ja_JP.UTF-8
export LANG

 

■Solaris上のTomcat起動スクリプトで文字コードを指定する

 例えば、このような起動スクリプトrun_Application.shを作る。

 LANGとLC_CTYPEの指定がミソ。

#! /bin/bash

# 文字コードを指定する
LANG=ja_JP.UTF-8
export LANG

# 文字処理関数用の文字コードを指定する
LC_CTYPE=ja_JP.UTF-8
export LC_CTYPE

# ここから下は、普通のTomcat用の指定が続く。

TOMCAT_HOME=/export/home/suzuki/tomcat5
export TOMCAT_HOME

CATALINA_HOME=/export/home/suzuki/tomcat5
export CATALINA_HOME

JAVA_HOME=/usr/local/java/jdk1.5.0_11
export JAVA_HOME

CLASSPATH=$CATALINA_HOME/common/lib/servlet-api.jar:$CATALINA_HOME/common/lib/jsp-api.jar
export CLASSPATH

/export/home/suzuki/tomcat5/bin/startup.sh

 

以上で、日本語ファイル名でのアップロードが可能になりました。ウレシイ。