こんにちは。
現在、件名のような状況になってしまっています。
実は、WindowsXP + mysql4.1 + tomcat5 + JDK1.4 + strutsで掲示板サイトを運営をしていたものをWindows→Debian(Sarge)にTomcat5→Tomcat4に変更して移行しました。あと、前回では、文字コードをSJISだったので今回はUTF-8に変更しました。
しかし、Web上から2バイトの日本語文字を入れるとmysql側で2バイト文字だけ「?」で表示されています。
ちなみに現在の設定とソースコードは下記のようになっています。
<jsp>
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<Java>
jdbcの記述:useUnicode=true&characterEncoding=utf8
ソースファイルの文字コード:UTF-8
strutsのアクション:request.setCharacterEncoding("UTF-8");
<debian>
LANG=ja_JP.UTF-8
<MySql>
[mysqld]
default-character-set=utf8
init-connect=SET NAMES binary
[mysql]
default-character-set=utf8
自分なりに調べてみたのですが、webから入力された値をstrutsのformで受け取っている時は文字は大丈夫なのですが、どうやらMysqlに格納している時におかしくなっているみたいなのです。
それで、Mysqlについてしらべてみて、上記のように記述したりしたのですが改善されませんでした。それで、OSのDebian側でもなにか設定がいるのか気になり投稿させて頂きました。自分の現在のOSの環境にはjfbtermとかcannaとかといった日本語の環境はまったくインストールはされておりません。コンソールのみでの作業になっています。ちなみにOSをインストールする時も文字化けが嫌だったので、Englishでインストールしました。この内容で気づくことがありましたら教えていただけますでしょうか。お願いいたします。
|