• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQL文字化け「表」について)

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

このQ&Aのポイント
  • 「表」はSJIS環境で文字化けするのか?
  • コマンドプロンプト以外で「表」を含むInsertの検証方法は?
  • MySQLの文字化けに関する疑問について解説します。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>'表'でもInsはできないものなのでしょうか。 表は5C問題の代表格ですね プログラムで処理できないならUTFの設定を最初からSJISにしてみては? そうでない場合は手で「\」をつけて「表\」のようにエスケープしてください まぁ常識的にはMySQLをSJISで運用はありえないのですけどね 逆のアプローチとしてはcmd実行後chcp 65001するとかあるんですが これもフォントの指定をしたりなんだりで結構面倒です

ShiftTail
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • MYSQLの文字化けについて

    すみません。いまMYSQLでデータベースを構築しているのですが、秀丸で作成した、insert文をコマンドで走らせると 「ERROR 1366 (HY000): Incorrect string value: '\x87u \x82T\x82...' for column 'menseki' at row 1」というエラーが出てしまいます。 表の中身は日本語ですので、秀丸のinsert文がおかしいのかと思い、コマンドで直接打っても同じエラーが出ます。 my.iniやコマンドで「set names sjis;」を打ってみるなど文字コードなどをいろいろいじってみましたが直りません。ちなみに現在の文字設定は、show variables like '%char%';を走らせると +--------------------------+------------------------------+ | Variable_name | Value | +--------------------------+------------------------------+ | character_set_client | sjis | | character_set_connection | sjis | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | sjis | | character_set_server | sjis | | character_set_system | utf8 | | character_sets_dir | C:\MYSQL\share\charsets\ +--------------------------+------------------------------+ になります。 どなたかわかる方いましたらご教授ください。 使用環境 OS:winXP mysql5.0.45 php5.25 apache2.26 です。よろしくお願いします。

  • MYSQLの文字化けについて

    MYSQLの文字化けについて質問させてください。 MYSQL COMMAND LINE CLIENTでMYSQLに作ったデータベースに下記のSQL文でデータを入れると、下記のエラーが出ます。 sql 「insert into テーブル名 (id、type)values (1,'男性’);」 エラー文 incorrect string value: '入力文字が文字化けして表示’for column 'type’at row 1 文字化け対策として、調べたところ、下記のように「my.ini」に記述すると言うことでしたので、試してみました。 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set =utf8 ちなみにその他情報です。 MySQLのバージョン MySQL 5.1 MySQLで有効になっている文字コード character_set_client | utf8 character_set_connection | utf8 character_set_database | utf8 character_set_filesystem | binary character_set_results | utf8 character_set_server | utf8 character_set_system | utf8 何かお解かりになることがありましたら、宜しくお願いします。

  • 『予約』という文字を挿入すると文字化けしてしまいます。

    データベースはmySQLで、 コマンドプロンプトからinsert into ~ コマンドを 用いて、予約という文字を挿入すると、その予約という文字自体と、それ以降の 文字列が全て文字化けしてしまいます。 対処法はないのでしょうか? default-character-set=sjis で文字コードの指定は行っています。

  • 「表」の文字入りのレコードがinsertできません

    何回も質問して申し訳ありません。 サーバ、クライアントともキャラクタセットはすべてsjisに設定したのですが、「表」の文字入りのレコードをinsertしようとエラーになってしまいます。「表」の0x5Cが問題なのでしょうか。 insert into tb1 values(a '表'); とすると、後ろの'が入力してない扱いになってしまうようです。 insert into tb1 values(a '表/'); とすればうまくいくのですが、 statusで Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis となっていても、解決しない問題なのでしょうか。 申し訳ありません。できましたら、どなたかお助けいただければ幸いです。

    • ベストアンサー
    • MySQL
  • PDOでMySQL接続した際の文字化けについて

    http://ponk.jp/php/basic/php_mysql すいません。データベースを初めて勉強中なのですが、上記のサイトに書いてあるように文字をphpで表示させた場合日本語が???に文字化けします。いろいろググってみたのですが解決できず先に進めません・・。 照合順序などはutf8_general_ciとなっていまして、phpの方も<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />とutf-8が指定してありますので問題ないと思います。 考えられる原因というのはどんなものがありますか? テーブル表 CREATE DATABASE men; USE men; CREATE TABLE udon(name TEXT, price INT); INSERT INTO udon VALUES('たぬきうどん', 340); INSERT INTO udon VALUES('てんぷらうどん', 440); INSERT INTO udon VALUES('カレーうどん', 420); INSERT INTO udon VALUES('うどん定食', 520); 表示プログラム <table border="1"> <tr><th>名前</th><th>価格</th></tr> <?php $pdo = new PDO("mysql:dbname=men", "root"); $st = $pdo->query("SELECT * FROM udon"); while ($row = $st->fetch()) { $name = htmlspecialchars($row['name']); $price = htmlspecialchars($row['price']); echo "<tr><td>$name</td><td>$price 円</td></tr>"; } ?> </table>

    • ベストアンサー
    • MySQL
  • 文字化けが解消できません…MySQL5.2.1

    OS:WINDOWS XP MySQL5.2.1 Apache2.2.4 php-5.2.1 文字(EUC-JP使用) PHPからテーブルにINSERTした場合、echoできちんと表示できます。 しかし、コマンドプロンプトを開いてテーブルを見ると、 PHPからINSERTした日本語が文字化けしています。 コマンドプロンプトにINSERTで日本語を入力すると、 Query OK と表示されますが、SELECT * FROM で内容を表示すると、 空白で何も表示されません(PHPのechoでも表示されません) 色々調べてみたのですが…どうしても解決できません… 【my.ini】 [client] port=3306 default-character-set=ujis [mysql] default-character-set=ujis [mysqld] port=3306 basedir="c:/mysql5/" datadir="c:/mysql5/data/" default-character-set=ujis init-connect="SET NAMES ujis" skip-character-set-client-handshake [mysqldump] default-character-set = ujis 【SHOW VARIABLES で確認した文字コード】 character_set_client ujis character_set_connectioon ujis character_set_database ujis character_set_filesystem binary character_set_results ujis character_set_server ujis character_set_system utf8 試しに mysql> SET NAMES ujis と入力したりしてみましたが 文字化けしたままになっております。 SHOW CREATE DATABASE と SHOW CREATE TABLE で表示された CHARACTER SETは ujis でした。 my.iniの character-set を ujis に設定した場合、 日本を表示させることはできないのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • XAMPP MySQL my.cnfの設定について

    mySQLに日本語のデータを使いたい者です。 XAMPPを利用しています。 コマンドプロンプトからINSERT文などで日本語のデータを入れたいのですが、????になります。 mySQLのバージョンは5.1.30です。 XAMPPは1.7.0 my.cnfをメモ帖でひらき、[default-character-set]と検索してみましたが 何もHITしなかったので、次のようにmy.cnfに書き加えました。 [client] default-character-set=sjis [mysqld] default-character-set=sjis character-set-server = sjis collation-server = utf8_general_ci [mysql] default-character-set=sjis sjisになっているところは一度utf8で試してみたのですが ????ではなく文字化けになったのでsjisにしてみました。 何か設定に不備があるのでしょうか?DOS上でset names 'sjis' などを試してみましたが駄目でした。

    • ベストアンサー
    • MySQL
  • XAMPPでMySQLで文字化け、文字コード設定について

    MySQLの文字セット: UTF-8 Unicode (utf8)が変更できない。(できればSJISにしたい) 環境: OS:WinXP XAMPP1.6.6 * Apache 2.2.8 + OpenSSL 0.9.8g * MySQL 5.0.51 * PHP 5.2.5 & PHP 4.4.8 (RC2) * phpMyAdmin 2.11.4 症状: コマンドラインから作った全角文字を含む簡易テーブルについて。 ブラウザからphpMyAdminで確認すると文字化けせず読めるが、 DOSからコマンド"select"で確認すると文字化けしてしまう。 DOS窓からコマンド入力で簡単なテーブルsampleを作る。 東京,tokio Kanagawa,kanagawa とうきょう,tokio mysql> select * from sample; +------------+----------+ | ken | kencho | +------------+----------+ | | tokio | | Kanagawa | kanagawa | | ニ、ォ、 | tokio | +------------+----------+ mysql> status Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis mysql> show variables like '%char%'; +--------------------------+-----------------------------------+ | Variable_name | Value | +--------------------------+-----------------------------------+ | character_set_client | sjis | | character_set_connection | sjis | | character_set_database | sjis | | character_set_filesystem | binary | | character_set_results | sjis | | character_set_server | sjis | | character_set_system | utf8 | | character_sets_dir | _xampp_mysql_share_charsets_ | +--------------------------+-----------------------------------+ character_set_systemだけがutf8なのは何故でしょうか? 編集したファイル: <my.ini(C:\WINDOWS)> [mysqld] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis <my.cnf(C:\xampp\phpMyAdmin)>(短縮ダイヤル) default-character-set=sjis init-connect=SET NAMES sjis <config.inc.php(C:\xampp\phpMyAdmin)> $cfg['DefaultLang'] = 'ja-sjis'; $cfg['Lang'] = 'ja-sjis'; $cfg['DefaultCharset'] = 'ja-sjis'; 結果: とりあえず調べた事をファイルに反映させてみましたが、 DOSプロンプトからselect文を実行すると全角文字が読めません。 どうすれば読めるようになりますか? character_set_system utf8を変更するのでしょうか? "http://www.oji.ath.cx/sb/log/eid11.html"を参考にさせて頂きましたが、character_sets_*の意味がいまいち分かりません。 こちらも分かれば教えて頂きたいと思います。 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • mysqlコマンドだけ文字化け

    WinXPでxampp1.6.6aを使っています。 文字コードはutf8で設定したく説明しているサイトを探しmy.cnfを 下記のように修正および追加しました。 [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 phpadminから確認すると日本語も文字化けせずに表示されるのですが なぜかコマンドから確認すると日本語が文字化けしてしまいます。 おなじような質問がありなんとかできるものかと思い確認したのですが 特に設定が間違っているようではなく解決策がみつかりません・・・ 文字化けせずに表示させるためにはどうすればいのでしょうか? show variables like 'char%'の結果は下記の通りです。 +--------------------------+----------------------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\xampp\mysql\share\charsets\ | +--------------------------+----------------------------------------------+

    • ベストアンサー
    • PHP
  • xampp mysql5.0.51の文字化けについて

    mysqlの日本語文字が文字化けし、いろいろ試みてみましたが解決せず 途方に暮れております。 まだ勉強しはじめの超初心者でしてあれこれネットなどで調べて 2週間になりますが解決せず困っています。 どなたか解決方法をご存知でしたらぜひご教授ください。 環境は以下のとおりとなっております。 ・ローカルpc→windowsXP ・xampp1.6.6をインストールし、mysql5.0.51を使用中 mysqlのテーブル内の日本語が文字化けし、 いろんなサイトを参考にしながら見よう見まねで 以下のように設定してみました。 1)コマンドプロンプトで  set character set cp932; と入力 2)my.cnfというファイルに以下内容を追加 [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 3) 1)、2)でも解決されなかったため 2)の内容でutf8のところをsjisに変えて再度保存 というような設定を行いました。 このように設定しても文字化けが解消しないどころか、 このように変えてから今度はxamppコントロールパネルのmysqlが 起動しなくなってしまいました。 正確には開始ボタンを押すとmysql起動とは表示されるのですが 開始ボタンが開始のままになってしまいます。 mysqlを使用している知人にこの問題について聞いてみたところ mysql5.0~の最新バージョンは不安定なので使わないほうがいいとのことですが、本当なのでしょうか? もし解決方法がないのであれば安定バージョンでインストール し直したいと思っているのですが、 どのバージョンだと比較的安定しているのでしょうか? 併せてご回答いただけるとたいへん助かります。 本当に初心者の質問で恐縮ですが、よろしくお願いします。

    • ベストアンサー
    • MySQL