javaでwebアプリケーション開発をしています。
mysqlに直接ひらがな・全角・半角・英数を打ち込むと受け付けてくれるのですが、servlet→jsp→mysqlの流れ(Java)で、情報を入力すると全角と平仮名が文字化けしてしまいます。
そのためmy.iniの変更を
[mysql]
default-character-set=utf8
↓↓↓
[mysql]
default-character-set=cp932
に変えましたが今だに文字化けしています。原因は何でしょうか・・・?
ご教示お願い致します。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
MySQL Command Line Clientなどは、my.iniを取り込む仕組みがあります。
したがって、[mysql]の設定が有効で、MySQL Command Line Clinetから、show variablesを表示すれば、文字コードの設定が一見、できているかのように見えます。しかし、my.iniを取り込む仕組みがないアプリ環境では、そういう訳にいかず、[client]の設定が必要になります。
また、実際にデータベースを管理する側に対しては、[mysqld]で文字コードの設定が必要になるのです。
No.4
- 回答日時:
サーバー側の設定、MySQL Command Line Client等以外のクライアントの文字設定が必要です。
また、MySQLのバージョンを、MySQL 5.x.xといったレベルまで提示するようにしてください。MySQL 5.1.x辺りで、文字コード設定のキーワードが変更されています。
>Mysql文字コード
これは、MySQL Command Line Clientで表示したものでは?
文字化けが発生する経路で、show variablesを実行してみてください。
以下に、文字設定してください。
[mysql]・・・MySQL Command Line Client等に有効
[mysqld]・・・MySQLサーバー側
[client]・・・MySQL Command Line Client等以外に有効
No.3
- 回答日時:
MySQL側の文字エンコードが意図するものでも、入力を受け付けるページ・プログラムの文字エンコードはどうなんでしょうね。
プログラムでDBに突っ込もうとしてる値をデバッグしたら、その時点で化けてるんじゃないですか?
こういうのとか漏れてません?
http://www.atmarkit.co.jp/ait/articles/0501/14/n …
No.2
- 回答日時:
初めまして
servlet→jsp→mysql
これは本当でしょうか?
かなり珍しい流れだと思いますが。
mysqlの設定の問題ではなく、servlet、jsp、mysqlのそれぞれの文字コードの確認。
および、request.getParameter()をする際の文字コードをrequest.getCharacterEncoding()で確認してください。
No.1
- 回答日時:
Javaについてはよくわかりませんが
この手のアプリからDBに接続する際にはたいてい、
そのセッションで使用するキャラクターセットを
指定する手順があるものですが、指定していないのでしょうか?
どうしても対処方法がわからない場合は
あまりお勧めできませんが、SQLを発行する際に、
「SET NAMES CP932」を先行して発行するとかですかねぇ・・・
あと、直接は関係ないかもしれませんが、問題をきりわけるためにも
すべてのcharacter_set関連を統一しておいた方がよいと思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL 私の考えていることは ・mySQL ・PHP ・web制作 この三つのスキルがあれば実現しますか? 4 2023/08/19 02:48
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLカラム名は日本語と英数字...
-
SQLで日本語データを入力したい...
-
存在しているファイルがロード...
-
SQL Server のキャラクターセッ...
-
MySQL 文字化けについて
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
RPMのmysqlとmysql-serverの違い
-
SQL開発環境ソフトウェアである...
-
ODP.NETのバージョン確認
-
副問合せにLIKE文を使う方法は...
-
旧filemakerで和暦(令和など)...
-
プライマリーキーの昇順でソー...
-
MySQLの型のサイズ指定で速度は...
-
Float型の時の計算結果がおかしい
-
TYPE=Inoodbが指定するとワーニ...
-
ローカル以外のMySQLをphpMyAdm...
-
Column '' not found.
-
MySQL sleep が溜まる
-
VBAで変数内に保持された二次配...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLカラム名は日本語と英数字...
-
MySQLの日本語LIKE検索について
-
存在しているファイルがロード...
-
SQL Server のキャラクターセッ...
-
SQLで日本語データを入力したい...
-
日本語TSVファイルのLOAD DATA ...
-
日本語のデータがインポートで...
-
文字コードMS932(Windows-31J...
-
MySQL 文字化けについて
-
文字化け
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
副問合せにLIKE文を使う方法は...
-
ODP.NETのバージョン確認
-
ERROR 1045 (28000) (using pas...
-
like句を使って日本語を検索す...
-
VBAで変数内に保持された二次配...
-
INT型は金額の型に使用するべき...
-
プライマリーキーの昇順でソー...
-
Float型の時の計算結果がおかしい
おすすめ情報
Mysql文字コード
Variable_name | Value
--------------------------+----------------------------
character_set_client | cp932
character_set_connection | cp932
character_set_database | latin1
character_set_filesystem | binary
character_set_results | cp932
character_set_server | latin1
character_set_system | utf8
character_sets_dir | C:\xampp\mysql\share\charsets\