質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

1465閲覧

jspのフォームからmySqlのテーブルにINSERTした時、文字化けして保存されます。解決法をご教示ください。

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2019/05/22 07:56

前提・実現したいこと

jspのフォームからmySqlのテーブルにINSERTした時、文字化けして保存されます。

my.cnfファイルを以下の様に変更し、その後再起動しましたが、改善されませんでした。イメージ説明
文字コードを確認すると、以下の様になっていました。
イメージ説明
character_set_system だけutf8mb4に変更できていませんが、
これが原因なのでしょうか?
解決策を探しましたが情報が見当たらなかった為、解決方法もしくは原因をご教示いただけると幸いです。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/05/22 07:59

コードとDBの定義もご提示ください あとはファイル自体の文字コードもご確認ください また、投入したデータと文字化けしたという状態のデータもご提示ください
guest

回答1

0

ベストアンサー

大抵の文字化けは、<form>から送信されたパラメータのエンコードを指定していないのが原因です。

java

1import java.io.IOException; 2 3import javax.servlet.ServletException; 4import javax.servlet.annotation.WebServlet; 5import javax.servlet.http.HttpServlet; 6import javax.servlet.http.HttpServletRequest; 7import javax.servlet.http.HttpServletResponse; 8 9/** 10 * Servlet implementation class FormSample 11 */ 12@WebServlet("/FormSample") 13public class FormSample extends HttpServlet { 14 15 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 16 request.setCharacterEncoding("utf-8"); 17 18 String name = request.getParameter("name"); 19 log(name); 20 } 21 22}

utf-8で構成されているJSPやデータベースであれば、

request.setCharacterEncoding("utf-8");

を指定すると、リクエスト情報の文字コードはutf-8であると認識します。

他にも文字化けしているかどうかは、EclipseやIntelliJ IDEAなどのIDEにてデバッグモードで起動し、ブレークポイントで停止させてその値を確認する方法が一番堅実でしょう。

投稿2019/06/10 16:05

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問