みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MySQL文字化け「表」について

1.DBの設定。
[mysqld]
default-character-set = utf8
skip-character-set-client-handshake

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8


2.コマンドプロンプトより接続(musqldがUTF設定のため、SJIS変換)
SET NAMES SJIS;


3.表の作成
create table table1(
id int,
name varchar);


4.表に追加
INSERT INTO table1(item,name) VALUES("1","表");
INSERT INTO table1(item,name) VALUES('1','表');
⇒どちらのSQL分でもDBには、表 という文字がNullで格納されます。
 (1 は格納されています。)

質問1
"表"はSJISで文字化け?するというのをどこかで見た覚えがあるのですが
'表'でもInsはできないものなのでしょうか。

"であろうと'であろうと、表は SJIS環境ではエラーになるのでしょうか。


質問2
このままでは、コマンドプロンプトから文字化けする?ため
「表」という文字を含むInsert検証ができません・・・。

コマンドプロンプト以外で、ターミナルに使えるツールがあれば
ご教授お願いします。(phpMyAdminも除外でお願いします。)

投稿日時 - 2012-01-15 00:21:19

QNo.7245019

すぐに回答ほしいです

質問者が選んだベストアンサー

>'表'でもInsはできないものなのでしょうか。

表は5C問題の代表格ですね
プログラムで処理できないならUTFの設定を最初からSJISにしてみては?
そうでない場合は手で「\」をつけて「表\」のようにエスケープしてください
まぁ常識的にはMySQLをSJISで運用はありえないのですけどね

逆のアプローチとしてはcmd実行後chcp 65001するとかあるんですが
これもフォントの指定をしたりなんだりで結構面倒です

投稿日時 - 2012-01-15 09:41:16

お礼

ありがとうございます。
\を後ろにつけることで、問題なくInsできました。
大変助かりました。

投稿日時 - 2012-01-16 01:56:21

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問