• 締切済み

mySQLデータベースに書き込むと文字化けをする

すみませんタイトルにある通りなのですが、データベースはmySQLを使用していて、 コマンドプロンプトからinsertコマンドなどで書き込んだ後に、テーブルの内容を 表示すると、文字化けをしていることがあります。 対策はあるのでしょうか?日本語の一部は必ず文字化けをしてしまうのですか? 同時にweb(自作のアプリケーション)からデータベースに書き込む時も同様の現象が起こってしまいます。 文字コードの指定方法で解決できると思うのですが、わからないのですよろしくお願いします。

みんなの回答

  • yuji
  • ベストアンサー率37% (64/169)
回答No.3

default-character-setの設定方法ですが、私の場合は winmysqladmin.exe を使って MySQLのプログラムを起動させています。 winmysqladmin.exeを起動すると、 my.ini setup というタグがあるので、そこをクリックすると [mysqld] の後に設定パラメタが表示されます。 そこにdefault-character-set=sjisを追加しました。 default-character-setはサーバ側の設定の問題なので クライアント側(Javaなど)では設定できません。

sugoitensai
質問者

補足

sjisの文字コードをセットできたのですが、なぜか『予約』という単語を入力するとその後の文字も一緒に文字化けしてしまうようなのです。 これは回避しようがないのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • yuji
  • ベストアンサー率37% (64/169)
回答No.2

default-character-set はsjisになっていますか?

sugoitensai
質問者

補足

すみません。指定の仕方がわからないのです。 mysqlコマンドの後にオプションで指定したような気がしますが… それにしても毎回指定しなければならないのでしょうか? あと、アプリケーション(Javaプログラム)内で指定できるのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

> コマンドプロンプトからinsertコマンドなどで書き込んだ後に、テーブルの内容を表示すると、 > 文字化けをしていることがあります。 コマンドプロンプトで直接打っても、本当に文字化けします? おかしいなぁ。。。 Windowsなどから、ssh、telnetのログインではなく、プロンプト直打ですか? > 日本語の一部は必ず文字化けをしてしまうのですか? カタカナの「ソ」とかですか? > 同時にweb(自作のアプリケーション)… この問題は、まず上記を片づけてからですね。 一番引っかかるのは本当に、「プロンプト直打ちで、文字化けしてしまう」って事ですね。。。

sugoitensai
質問者

補足

はい、telnetなどのリモートログインではなくmySQLのインストールされている コンピュータ上のコマンドプロンプトでの直打ちです。 日本語の一部とは漢字やかななど『全角文字』の一部のようです。 aなどの半角英数は文字化けは起こっていません。

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

関連するQ&A

  • MySQLの文字化け

    Xampp(Ver 1.6.5)、phpMyAdmin2.11.3、PHP5.25、MySQL(ver5.0.51) まだ初めたばかりなのですが、MySQLでデータベースを作って日本語の文字入力をすると文字化けしてしまいます。コマンドプロンプトでクライアント側はSJISにセットしたのですが、サーバー側の文字セットがまだlatinになったままです。サーバー側の切り替え方を教えていただけませんか。宜しくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLが文字化けしてしまう

    MySQLが文字化けしてしまう 現在、PHPとMYSQLを使ってデーターベースに画像をアップするプログラムを作っています。 http://websegment.net/2010/09/05/php-mysql-blob/ のサイトのプログラムでまず作成してみたところデーターベースへの 登録はうまくいったのですが、ターミナルでテーブルを確認したところ文字化けしていました。 フィールドのfile、size辺りで文字化けしてしまっているようです。 どうすれば、文字化けが直るのでしょうか? 教えてください。

    • ベストアンサー
    • PHP
  • MySQL コマンド上の文字化けを直すことができるでしょうか。

    [状況] WindowsXP-HE に MySQL4.0.20a-nt をインストールし, my.ini に、 [WinMySQLAdmin] Server=C:/mysql/bin/mysqld.exe [mysqld] language=C:/mysql/share/japanese default-character-set=ujis と書いています。 mysql>use TEST とし、mysql> select * from list; とすると、テーブルlistに定義してあったデータの漢字もキチンと表示できます。 [質問] ところが、例えば、試みに存在しないデータベースを選んで、コマンドプロンプトのエラーメッセージを出してみると、文字化けして表示され、内容が読み取れません。 コマンドプロンプトの文字化けはどのようにして直せば良いでしょうか?

  • PHPとMySQLで文字化けしてしまいます。

    いつもお世話になっています。 レンタルサーバー(サクラインターネット)で、 MySQL5.1を設定し、データベースを使ったwebサイトをアップしたのですが、 PHP部分の一部に文字化けしてしまいます。 文字コードは、htmlの上部で、UTF-8に設定しています。 システムは、PHPとMySQLで組んであります。 ローカルでは正常に動いているために、理由がわかりません。 どなたか解決方法があれば、教えて下さい。 宜しくお願いします。

  • アプリケーションからMySQLへの書き込み時点で、文字化けする。

    こんにちは。 PHP+MySQLをWindowsで使っているものですが、MySQLへの 文字化けをどうやって対処すればよいか分からず、困っています。 ネット検索でも探してみたのですが、 例えば:http://wota.jp/ac/?date=20061011 まずはじめの段階の、MySQLの文字コードを調べる、というところから すでにわかりません。コマンドプロンプトで、mysql> というところに 行くにはどうすればよいのでしょうか。 最終的に解決したいのは、文字化けなので、そちらを教えていただいても構いません。MySQLに書き込んだ時点で文字化けしてしまいます。 初心者の質問で申し訳ありませんが、ここがハードルが高いので、 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • mysql文字化けについて

    どうしても自己解決できません。宜しくお願いします。 sqliteで色々できるようになり、いざmysqlに移行と思いデータを mysqlに移そうとしています。ところが日本語がデータベース内で文字化けしています。 sqliteでは文字コードを変えると大丈夫だったのですが。 $simei=mb_convert_encoding($_POST[simei],"EUC-JP","SJIS"); musqlには「照合順序」というのがあり、よく意味が分からないのですがこれが文字コードを設定するところと思い、そこで「ujis_japanese_ci」と言うのに設定してみたり、sjisにしてみたり色々試したのですがやはりデータベース内では文字化けしています。 どのようにすればデータベース内に保存された日本語文字が文字化けしないで保存されるのでしょうか。宜しくご指導お願いいたします。

    • ベストアンサー
    • PHP
  • 文字化け

    Windows7にxampp1.7.3をいれています。MySQLはSever version 5.1.41です。 my.iniは[mysqld][mysqldump][mysql]に default-character-set = utf8 を追加しました。 UTF-8でテーブルの作成(create文)とレコードの追加(insert文)を書いたテキストファイルを作り、 windowsのコマンドプロンプトから mysql -u root -p (パスワード) で入り、 source (上のテキストファイル); で読み込ませ実行し、phpでそのデータベースに接続して使おうとしました。 しかし、特定の文字だけ化ける現象が表れます。 上のsource (上のテキストファイル);を実行したときも、 1 row affected (0.00 sec)という中にいくつか(たぶん文字化けのところに) 1 warning (0.00 sec)が表れました。 化けた文字は「店」「局」「展」「 (全角スペース)」「く」などです。 それ以外の文字はPHPを使って見たときは正常に表示されます。 (もちろんコマンドプロンプトでselect文でテーブル表示したときなど 全部文字化けしますが) 自分では 店(E5BA97)、局(E5B180)、展(E5B195)、全角スペース(E38080)、く(E3818F)、から UTF-8で「E5B」「E38」から始まる文字が化けるように思っています。 そもそもsourceを使ってレコードを挿入する時に問題があると考えているのですが、 どのようにしたら解決するのでしょうか?

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

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

  • mysqlのデータベースの文字コードの変換について

    mysqlのデータベースの文字コードの変換について教えてください。 テストサーバー環境で誤って文字コードUTF-8のデータベースを作成し、文字コードEUC-JPのデータを投入してしまいました。 それでもテストサーバー環境では文字化けせずにウェブアプリを表示できていましたが、テストサーバーのデータをエクスポートすると、テキストエディタで開いた時点で文字化けしています。 (文字コードはUTF-8、EUC-JPのいずれでも) もちろんそのデータを本番サーバーにインポートしても文字化けしてしまいます。 (データベース文字コードはUTF-8、EUC-JPのいずれでも) テストサーバーからデータをエクスポートする前に文字コードを変換することは可能でしょうか? もしくは他に問題を解決する方法はありますでしょうか? ご存知の方がいらっしゃいましたら教えてください。

    • ベストアンサー
    • MySQL
  • MySQL4.1.7 文字化けについて

    MySQLのバージョンを4.0.21→4.1.7にアップグレードしたところ、文字化けが発生してしまいました。 【状況】 1.MySQL4.1.7をインストールウィザードを使用してインストール 2.CREATE DATABASE でデータベース作成 3.CREATE TABLE でテーブル作成 4.INSERT でデータ追加 5.SELECT でデータ抽出←ここで文字化け(日本語が全部‘?’になっている) OSはWinXPです 色々調べてはいるんですが、わかりません。 何か情報ありましたらお願いします。

    • ベストアンサー
    • MySQL