質問: response.getWriter(); out.println(""); out.println(""); out.println("すっきり"); out.println(""); out.println(""); out.println("" + today + "運勢" + luck + "です"); out.println("です"); out.println(""); out.println(""); } } ### 試したこと 1.以下を「UTF-8」に設定 ■ウィンドウ→設定 一般→コンテンツタイプ→テキスト→HTML デフォルトエンコード ■ウィンドウ→設定 一般→ワークスペース テキストファイルエンコード ■ウィンドウ→設定 Web→JSPファイル→エンコード ■ウィンドウ→設定 Web→HTMLファイル→エンコード 2.「C:\pleiades\eclipse」フォルダ内の「eclipse.ini」をメモ帳で開き 「-Duser.language=en」 「-Dfile.encoding=utf-8」 を追記 以下全文 「 -product org.eclipse.epp.package.jee.product --launcher.defaultAction openFile --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.8 -XX:+UseG1GC -XX:+UseStringDeduplication -Xms256m -Xmx1g -Xverify:none -javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar -Duser.language=en -Dfile.encoding=utf-8 」 ### 補足情報(言語/FW/ツール等のバージョンなど) Eclipse Version: Neon.3 Release (4.6.3) Build id: 20170314-1500 OS Windows8.1 プロセッサ Intel(R) Core(TM) i5-5200U CPU @2.20GHz 2.20GHz 実装メモリ 8.00GB システムの種類 64ビットオペレーティングシステム x64 ベースプロセッサ Tomcat7 Java7 「スッキリわかる サーブレット&JSP」を使用して勉強し始めましたが、 3章で上に記載したように 「HTML上で日本語部分が ? に変化」してしまう問題が発生しております。 色々と検索して試してみたつもりではいるのですが、解決に至っておりません お力をお貸し頂ければと思います
回答: サーブレットからレスポンスを書き出している最初の行に ``` response.getWriter().append("Served at: ").append(request.getContextPath()); ``` があるからです。 response.getWriter()する前に response.setContentType("text/html; charset=UTF-8"); をすれば正しく出力されます。