MySQLの文字化け対処法

このQ&Aのポイント
  • MySQLの文字化けを解消する方法を教えてください。
  • MAMPでMySQLを導入していますが、文字化けが起きています。どう対処すればいいでしょうか?
  • MySQLの文字化けの解消方法を教えてください。
回答を見る
  • ベストアンサー

mysqlの文字化けの対処

MAMPにてMYSQLを導入しています。 Mac os x snow leopard10.6.8 php5.3.6 mysql5.5.9 apache2.2.21 文字コードを確認すると最初はlatin1となっているため、ネットで調べ対処してみました。 対処した内容としては、以下になります。 (1)/MAMP/db/mysql/ にリネームしたmy.confを置く。 (2)[mysqld]に、character-set-server=utf8とskip-character-set-client-handshakeを追加。 (3)[mysql]に、default-character-set=utf8を追加。 その後再起動し、文字コードを確認してみたところ、以下の2つがどうしてもlatin1のままです。 character_set_database character_set_server 他にも対処してみたのですが、どうしてもこの2つだけがlatin1のままです。 どういった対処をすれば文字化けを解消できますか? どうが、解消法をご教示戴けないでしょうか。 宜しくお願いします。

  • MySQL
  • 回答数1
  • ありがとう数1

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

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

なんか勘違いしてませんか? デフォルト値や設定を変えたからといって、すでに設定されているものは 変わりませんよ? きちんとやるならdbを作るときに文字コードを意識してつくります。 CREATE DATABASE db_hoge DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; またtableをつくるときにもテキスト系のカラムに文字コードを指定します CREATE TABLE db_hoge.tbl_fuga (id INT NOT NULL ,data VARCHAR(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci); もうすでにlatin1で設定されているカラムに対してはalterで変更します ALTER TABLE tbl_fuga CHANGE data data VARCHAR(30) CHARACTER SET utf8 COLLATE utf8_general_ci

関連するQ&A

  • mysqlの文字化けがどうしても治らない

    MAMPにてMYSQLを導入しています。 Mac os x snow leopard10.6.8 php5.3.6 mysql5.5.9 apache2.2.21 文字コードを確認すると最初はlatin1となっているため、ネットで調べ対処してみました。 対処した内容としては、以下になります。 (1)/MAMP/db/mysql/ にリネームしたmy.confを置く。 (2)[mysqld]に、default-character-set=utf8とskip-character-set-client-handshakeを追加。 (3)[mysql]に、default-character-set=utf8を追加。 その後再起動し、文字コードを確認してみたところ、以下の2つがどうしてもlatin1のままです。 character_set_database character_set_server 他にも対処してみたのですが、どうしてもこの2つだけがlatin1のままです。 どういった対処をすれば文字化けを解消できますか? どうが、解消法をご教示戴けないでしょうか。 宜しくお願いします。

  • mysqlの文字化けについてです

    学校でjavaの勉強をしている者です。 初心者です。 学校の宿題をやるために、自宅でmysqlをインストールしたのですが、 javaで実行すると文字化けしてしまいます。 学校では、my.iniの中の [mysql] default-character-set=latin1 を [mysql] default-character-set=sjis と変更し、 [mysqld] default-character-set=latin1 を [mysqld] default-character-set=sjis skip-character-set-client-handshake と変更し、 SQLを再起動すれば解決すると習ったのですが、 文字化けが起こってしまいます。 show variables like '%char%'で文字コードを確認してみたところ、 | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | このように、sjisになっていませんでした。 どうしてなんでしょうか? どなたか解答のほどよろしくお願いします。

  • 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 となったままです。 とうすればよろしいでしょうか? 何卒よろしくお願い致します。

  • MAMPのMySQLで文字化けする

    すみません、教えてください(><) mac( os X 10.7.5)でMAMP+Eclipse+PHPを使って以下のようにMySQLにデータ挿入 mysql_connect('localhost','root','root') or die(mysql_error()); mysql_select_db('mymy'); mysql_query('SET NAMES UTF-8'); mysql_query('INSERT INTO item SET id=1, name="あいうえお"'); をしたのですが、 phpMyadminからデータを確認してみると日本語が文字化けしてしまいます。 (phpMyadminからデータを挿入した場合はちゃんと表示されます。) 色々と調べ、 Eclipseの環境設定でワークスペースの文字コードやphpの文字コードをUTF-8にしたり、 MySQLのmy.cnfファイルの中に以下 [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_unicode_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 を追加して再起動し、DBを一旦削除して再度作り直して挿入してみたりとやったのですが、改善されません。 サーバ接続の照合順序 は「utf8_general_ci」として作成しています。 コンソールからMySQLへ接続してDBの文字コードを確認してみると character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /Applications/MAMP/Library/share/charsets/ | というかたちになっています。 他にどういった点を改善すればいいのでしょうか? もうお手上げ状態でどうすることも出来ずにいます。。。

  • 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のままです。 どなたか解決できる方がいましたら是非ともご教授ねがいます。

    • ベストアンサー
    • MySQL
  • 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 何かお解かりになることがありましたら、宜しくお願いします。

  • 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
  • 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
  • 文字化けに悩まされています。

    一週間以上文字化けで悩まされています。 色々調べましたが、解決しなかったため、質問させて頂きます。 xamppでPHPからmysqlにデータを保存をした際、mysqlで文字化けを 起こしてしまいます。 ver1.7.1です。 文字化け対処方法は、my.iniの設定で [mysqld] character-set-server=utf8 skip-character-set-client-handshake 下の2行を追加しました。 他、[mysql][mysqldump]にdefault-character-setを追加しましたが 直らなかったため、コメントアウトしています。 phpファイルは全てutf-8で保存しています。 初心者故、大変申し訳ございませんが、ご教授いただければ幸いです。