30代半ばの事務職員がITエンジニアになった話

おおよそタイトルのとおり、30代半ばにしてITエンジニアのタマゴになってしまった会社員の話

Linux(Ubuntu)にいれたMySQLにWindowsのEclipseからアクセスする ~その3~ Eclipseの文字コード設定

同じLANの中でつかっている
Linux内のMySQL
別のWindowsPCの
Eclipse環境からアクセスし、
MySQLサーバーへの
読み書きまでできました。


しかしながら
英数字なら問題ないのですが
日本語は文字化けという
はい、お約束のエラー発生。


Eclipse側の設定


EclipseでのJavaアプリケーション開発は

サーブレットでDBにアクセス
DBの値を取得
取得した値を変数に格納
PostまたはGetでjspファイルに送る
jspはサーブレットからPostまたはGetで値を受け取り
画面に表示

今のところ、こんな方式


ところが、
jspにPost・Getで受け渡す際、
受け取り側ではUnicode
文字を解釈してしまうとのことで
これが文字化けの原因らしい


なので
サーブレット側には
文字コードエンコードの指定を入れて

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 request.setCharacterEncoding("UTF-8");

jsp側にも

<form method="post" accept-charset="UTF-8">

データを送る際の文字コードを指定

System.out.println(request.getParameter(変数));

コンソールに変数を出力してみると
文字化けが解消しているので
Eclipse側はこれで解決


もちろんMySQLにも
まだまだ設定が必要