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

 

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