• ベストアンサー
  • 困ってます

MySQLの文字コード変換

XAMPP 1.7.1をダウンロードしてMySQL5.1.33をいじってるんですが defaultの文字コードをlatin1からutf8への変更がどうしてもできません。 \XAMPP\mysql\binにあるmy.iniに以下の記述をしました。 [client] default-character-set=utf8 [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8 ネットで調べると以上の方法で解決できるとなっていたんですが記述後、再起動してstatusをしてもServer characterset,Db characterset,Client characterset,Conn. charactersetすべてlatin1のままです。 どなたか解決できる方がいましたら是非ともご教授ねがいます。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数305
  • ありがとう数4

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

  • ベストアンサー
  • 回答No.2

OSが何か、明記して欲しいのですけどね。 XAMPPでは、初期状態ではmy.iniでなく、my.cnf(拡張子は表示されず、myとだけ表示されているかも知れない)が有効のようですけど、my.iniを参照するように設定変更したのでしょうか? Windows XPであれば、「コントロールパネル」の「管理ツール」で「サービス」と辿り、MySQLのサービスを選択して右クリックし、defaults-fileに何を指定しているかといった確認方法があります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

返信ありがとうございます。 OSはwindows XPです。説明不足で申し訳ございません。 defaults-file設定を確認したところご指摘の通りmy.cnfが参照されていました。 しかしmysql内のどのフォルダにもmy.cnfは無かったのでmy.iniの拡張子を変更したところ文字コード変更されました! これで安心してデータベースの勉強ができそうです。助けて頂き誠にありがとうございました。 しかしdefaults-fileのmy.cnfがないなんてことはありえるんでしょうか?

関連するQ&A

  • MySQL5.0の文字コードが変更できずに困っています。

    MySQL5.0の文字コードが変更できずに困っています。 環境は全てWindowsXPのローカルで動かしています。 インストール直後、statusコマンドで確認したところ、 Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 となっていました。 次に、C:\Program Files\MySQL\MySQL Server 5.0内のmy.iniを [client] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis [mysqld] default-character-set=sjis としてMySQLを再起動してみたのですが、 Server characterset: latin1 Db characterset: latin1 Client characterset: sjis Conn. characterset: sjis で、ServerとDbが変わらず、このままではINSERT文などで日本語をいれることが出来ません。 どなたかご教示お願いします。

    • ベストアンサー
    • MySQL
  • mysqlの文字コードの変更方法について教えてください。

    /etc/my.cnfの[mysqld]と[mysql]にdefault-character-set = utf8を 追記したのですが、statusで確認すると Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 とサーバー側の文字コードが変更できていません。 ネットや本で調べてみたのですがわからず、困っております。 どなたか分かる方よろしくお願いいたします。

  • my.ini 内を変更しても文字化けがなおらない

    my.ini 内の [mysql]、[mysqld]、[mysqldump] の部分を変更したのですが、文字化けが直りません。 文字化けします。 対応:my.ini 内の [mysql]、[mysqld]、[mysqldump] の部分 ↓ [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8 に変更しましたが コマンドプロンプトで mysqlに接続後、statusと打ち込んで状態を確認しても Client characterset:latin1 Server characterset:latin1 となったままです。 とうすればよろしいでしょうか? 何卒よろしくお願い致します。

その他の回答 (1)

  • 回答No.1

実際に参照しているmy.iniが、違っているのでは? MySQLのサービス起動時に、どこを参照しているか確認してみては?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答誠にありがとうございます。 ただ起動時の参照を確認する方法がわかりません。 どういった方法で確認すればよろしいのでしょうか。 お手数でなければご回答おねがいします。

関連するQ&A

  • MySQLのClient characterset

    MySQLの文字コードについて、質問2点あります 環境は、Windows7 ・MySQLサーバのバージョン: 5.5.8 ・MySQL クライアントのバージョン: mysqlnd 5.0.7-dev - 091210 <質問1> skip-character-set-client-handshakeせずに、 MySQLのClient charactersetを、utf8にしたいのですが、 my.iniへ、 [mysql] default-character-set=utf8 [client] default-character-set=utf8 と追記しても、 statusで確認すると、 Client characterset: cp932 と表示されてしまいます。 skip-character-set-client-handshakeと書かずに、 Client characterset: utf8 とするには、どうすればよいでしょうか。 <質問2> Client characterset: cp932のメリットについて Client charactersetを、 utf8じゃなくて、cp932にするメリットとしては、 何があるのでしょうか? コマンドラインで日本語表示できることぐらいしか思いつかないのですが… そもそも、「MySQLのClient characterset」の意味がよく分かっていないので、 教えてください

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

    PHPでINSERTしたものをphpMyadminで確認すると 日本語が文字化けしています。 コマンドプロンプトでテーブルを見てみると文字化けは起こっていません。どこを変えればいいのでしょうか? いろんなサイトを参考にmy.iniを直してみてもだめでした。 ----- my.ini ------ [mysqld] default-character-set = utf8 skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 skip-character-set-client-handshake [mysqldump] quick max_allowed_packet = 16M default-character-set = utf8 [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates default-character-set = utf8 ----- phpMyadmin ----- テーブルの照合順序 utf8_general_ci mysql> \s Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 バージョンは以下のとおりです。 XAMPP 1.7.1 MySQL 5.1.33 PHP 5.2.9 phpMyadmin

    • ベストアンサー
    • MySQL
  • 日本語をinsert時に文字化け

    xamppをインストールしMySQLを使おうとしたのですが、日本語をinsertしようとすると?で格納されてしまいます。 my.iniの設定を以下のように変えてみましたがうまくいきません。 [client] # 追加 default-character-set = utf8 [mysqldump] # 追加 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 [mysql] # 追加 default-character-set=utf8 STATUS;コマンドで確認すると Client characterset: utf8 Server characterset: utf8 とってなっており、SHOW VARIABLES LIKE 'char%';を実行してもcharacter_set_filesystem以外はutf8になっています。 xampp等のバージョンは以下の通りです。 xampp 1.7.2 MySQL 5.1.37 PHPからのクエリ発行、phpmyadminというツールからのクエリ発行どちらも?で格納されてしまいます。 もうどこが問題なのか見当が付きません。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • XAMPP1.7.1をインストールし、MySQLの文字コード設定について

    MySQLの文字コードを変更について教えてください。 my.iniファイルを開いて [mysqld] の中に ・・・ default-character-set=utf8 skip-character-set-client-handshake [mysqldump] ・・・ default-character-set=utf8 [mysql] ・・・ default-character-set=utf8 と変更したのですが、MySQLを再起動しstatusで確認したのですが、 latin1のままで変更されません。 XAMPPをアンインストールをして再度同じ設定を行ってもlatin1でした。my.iniファイルのほかに何かのファイルを変更しなくてはいけないのでしょうか? ↓のサイトを参考に設定を行っています。 http://mysqlx01.seesaa.net/です。 教えてください。 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • ODBC接続で全角文字が文字化け

    MySQL⇒MS-ACCESSのODBC接続で文字化けが発生してます。 ■MySQL 5.0.27 ■MyODBC 3.51.19 ■MS-ACCESS 2000 (Windows2000) ○my.cnfの設定 [mysqld] skip-character-set-client-handshake [mysqld_safe] skip-character-set-client-handshake [ODBC] default-character-set=sjis [client] default-character-set=sjis ○status Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 ▽試したこと ・Initial Statement に set names 'sjis' を設定 ・Character Set sjis、ujis、latin1 それぞれを指定 半角文字は大丈夫ですが、全角文字になると「??????????」と表示されています。 MySQL+PHPでは問題なく使えます。 解決方法分かる方アドバイスお願い致します。

    • ベストアンサー
    • MySQL
  • UTF-8にしても文字化けが直らない

    XAMPPでPHPとMySQLを使っています。 しかし、そのまま使うと文字化けが起きてしまいます。調べると「UTF-8」にすることで文字化けが起こらないとのことなので変更をし、以下のように全てutf-8に書き換えることができました。 mysql> 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 | D:\program\xampp\mysql\share\charsets\ | +--------------------------+----------------------------------------+ しかし、それでも文字化けは直りませんでした。以下のコマンドで原因を確かめてみました。 mysql> use testdb; Database changed mysql> status -------------- Server characterset: utf8 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 Db characterset: latin1が原因だと思い、以下のコマンドを実行しました。 alter database testDB character set utf8; そしてもう一度テーブルを作りなおすと今度は文字化けどころか空白になってしまいました。 なにが原因で文字化け等が起こっているのか分かりません。助けてください。 OSは Windows Vista です。 バージョンは ApacheFriends XAMPP version 1.7.7 + Apache 2.2.21 + MySQL 5.5.16 (Community Server) + PHP 5.3.8 (VC9 X86 32bit thread safe) + PEAR です。 回答よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • mysqlの文字コードの変更方法について教えてください。

    XAMPPを使ってるんですが、mysql\bin\のmy.cnfファイルの [mysqldump]と[client]部分にdefault-character-set=utf8 と記述したんですが、コマンドプロンプトで Show VARIABLES LIKE 'CHAR%'; と入力し確認したんですが、 latin1のままになってます。 どうすれば変更できますか?

  • sjisを使いたい!

    Linux(RedHat9)上のMySQL(ver 4.1.7)でsjisを使いたいのに使えなくて困っています。MySQLは標準でlatin1に指定されているので、日本語を用いたいため、sjisに変えようと思いました。よって、my.cnfの[mysqld]、[mysqldump]、[mysql]それぞれにdefault character set=sjisと記述したのですが、そうするとMySQLが起動できなくなりました。何故かと思い、上記の記述をやめて幾つか調べました。とりあえずmysql> status;では Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 そしてmysql> show character set;をしてみると、 Charsetの中に、ujisもsjisも入っていませんでした。よって、このMySQLがサポートしていないsjisを設定ファイルに記述しても起動できなくなる訳です。 他のどのPCのMySQLにもsjisなどは当たり前のように入って いるのに・・。 mysql> set character set sjis;や mysql> set names sjis;とやっても、以下のエラー。 ERROR 1115 (42000): Unknown character set: 'sjis' このMySQLの状態を調べるため、mysql> show variables ike 'char%';とすると、 Variable_name | Value character_set_client | latin1 character_set_connection | latin1 character_set_database | latin1 character_set_results | latin1 character_set_server | latin1 character_set_system | utf8 character_sets_dir | /usr/local/mysql/share/mysql/charsets/ となっています。このような状況で、どうやったらこの MySQLはsjisを使えることができるようになるでしょうか。 どなたかお気づきの点でもあればアドバイスよろしくお願いします。m(_ _)m

    • ベストアンサー
    • MySQL
  • my.iniを書き換えても文字化けが解消されません。

    MySQL5.1をWindowsVistaにインストールし、コマンドプロンプト上で実行しているのですが、日本語の文字化けが解消されません。 自分なりに調べ、下記ののように設定しましたが手詰まりになってしまいましたので、どなたか知恵を貸してください。 my.iniを以下のように変更 [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis [mysqld] default-character-set=sjis character_set_server=sjis skip-character-set-client-handshake 起動時のステータス mysql> status; Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis mysql> show variables like "char%"; 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 コマンドプロンプトの文字コード Shift-JIS

  • 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

専門家に質問してみよう