• 締切済み

キャラクタセットの設定がうまくいかずに困っています

PHP・MySQL初心者です。よろしくお願いします。 MySQL5をインストールしてサーバ設定を終了しました。 (本に書かれていたので)my.iniファイルをコピーして Windowsファルダに入れました。 MySQL Server Instance Config Wizard の character set は、 Manual Selected Default Character Set / Collation に チェックを入れて Character set: ujis を選択しました。 その後、レコードを挿入しようとしたら日本語が入力できず、 確認したところ、character set が Standard Character set に なっていたので設定をやり直しましたが、何度やっても Standard Character set に戻っています。 MySQL5をインストールし直しましたが同じ結果になります。 "status"コマンドを実行してみました。  <実行内容 一部抜粋>  server characterset: ujis  Db characterset: ujis  Client characterset: ujis  Conn. characterset: ujis 意味はよくわかりませんが、characterset の部分は 上記のようになっています。 my.iniファイルの[mysql]と[mysqld]には default-character-set=ujis が書かれています。 ちなみに下記の類似記事も読みました。  QNo.2108694  MySQL5.0の文字コードが変更できずに困っています。  http://okwave.jp/qa2108694.html 上記記事の質問に書かれていたことを真似て my.iniファイルの[client]にも default-character-set=ujis を 加えてみましたが変化はありませんでした。 [mysqldump]という項目は見つからなかったので何もしていません。 何をどうしたらよいのか見当がつかず困っています。 アドバイスをお願いします。 [ 使用環境とバージョン ] WindowsXP Home Edition Version 5.1 MySQL 5.0 (mysql-5.0.27-win32)

noname#23868
noname#23868
  • MySQL
  • 回答数1
  • ありがとう数1

みんなの回答

回答No.1

未確認で申し訳ないのですが・・・ windowsのコンソールはシフトJISなので、[client]はsjisにしないと文字化けすると思われます。

noname#23868
質問者

お礼

アドバイスありがとうございます。 コンソールや[client]のことも調べて(勉強して)、 頂いたアドバイスを参考にさせて頂きます。

関連するQ&A

  • MySQLのCharacter_set

    PHPとSQLで投稿サイトを作成中の初心者です。 いままでsjisで統一してきたものを、character_setをutf8に変換したく、 MySQL\MySQL Server 5.0\my.ini ファイルの default-character-set=sjis となっていたところをすべて default-character-set=utf8 に変え、 show variables like 'character_set%'; で確認しましたが、下記の状態となり、いくつかutf8 にかわってくれません。 +--------------------------+---------------------------------------------------------+ | Variable_name | Value | +--------------------------+---------------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | sjis | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | sjis | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ | +--------------------------+---------------------------------------------------------+ 残りのdatabase, filesystem, serverもutf8にしたいと思い。 my.iniファイルが他の場所にあるのかいろいろさがしていますが、まだ見つけられません。 どこを調べて、どこを変えればよいのか、お分かりの方いましたらご教授ください。 また、もしかすると全てutf8にしなくても良いのかも知れませんが、いろいろ調べていると皆さん統一されて いるようにお見受けしたので恐らく統一すべきなんだろう、と解釈しています。 MySQL Command Line Clientで 設定ファイルを読みにいく順番と場所を示してくれるコマンドとかないでしょうか? 稚拙な質問で恐縮ですが、どなたかご指南よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • MySQLの文字コードが変更されない

    お世話になっています。 EUCでPHPを書いています。 DBから取ったデータが文字化けしてしまいます。 全ての文字コードをujisにしたいのですが、変更できず困っています。 現在は以下のようになっています。 ――――――――――――――――――――――――――――――――――――― ■環境 Windows7(64bit) Mysql 5.5 ――――――――――――――――――――――――――――――――――――― ■my.iniのパス C:\ProgramData\MySQL\MySQL Server 5.5\my.ini ――――――――――――――――――――――――――――――――――――― ■サービスの起動パス "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.5\my.ini" MySQL55 (my.iniでポート変えたらCLIから接続できなくなったので、設定は反映していると思います。) ――――――――――――――――――――――――――――――――――――― ■my.ini [client] port=3306 default-character-set=ujis [mysql] default-character-set=ujis [mysqld] port=3306 character-set-server=ujis init-connect=SET NAMES ujis skip-character-set-client-handshake default-character-set=ujis default-storage-engine=INNODB sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" max_connections=100 query_cache_size=0 table_cache=256 tmp_table_size=10M thread_cache_size=8 myisam_max_sort_file_size=100G myisam_sort_buffer_size=69M key_buffer_size=55M read_buffer_size=64K read_rnd_buffer_size=256K sort_buffer_size=256K innodb_additional_mem_pool_size=3M innodb_flush_log_at_trx_commit=1 innodb_log_buffer_size=2M innodb_buffer_pool_size=107M innodb_log_file_size=54M innodb_thread_concurrency=10 [mysqldump] default-character-set=ujis skip-opt create-options set-charset hex-blob single-transaction ――――――――――――――――――――――――――――――――――――― ■コマンドラインからの確認 mysql> status; --------------------------------- Server characterset: utf8 Db characterset: utf8 Client characterset: ujis Conn. characterset: ujis ――――――――――――――――――――――――――――――――――――― 何かヒントを頂けないでしょうか。

  • 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
  • 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の文字コード変換

    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
  • php5とmysql5の設定

    eucjpで記述したphpのフォームからmysqlにデーターを格納して取り出すDBがあり、日本語表示が化けない設定は出来たのですが同じphpから検索をするとヒットしません。 同じphpスクリプトで別のサーバー(phpとmysqlは同じバージョンです)では問題なく稼働していたので現在のサーバーのphp.iniとmy.cnfの問題だと思うのですが他の似たような状況の方の解決策をなぞってeucjpに統一するなど一通り試したのですがどうもうまく行きません。 ちなみにサーバーは自サーバーでApache/2.2.3 (Debian) 、PHP/5.2.0-8+etch7、mysqlは5.0.32です。 php.iniは mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto (EUC-JPにすると入力後?になる) mbstring.http_output = EUC-JP mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; my.cnfは [client] default-character-set= ujis [mysqld] skip-character-set-client-handshake default-character-set = ujis character-set-server = ujis [mysql] default-character-set = ujis です。よろしくお願いします!

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

  • 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
  • 文字化けが解消できません…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