• 締切済み

Mysqlの文字コード変更

TurboLinux Server8に付属のMysqlを使用しています。 現在EUCで使用しており、これをSJISに変更したいと思います。 そこで下記をお教えください。 1:文字コードの変更はmy.cnfファイルを変更するだけでいいのでしょうか? それともインストールし直しになりますでしょうか? 2:データはnkfなどで変更してインポートすれば問題ありませんか? 他に何か必要な事項等ありましたらお教え下さい。 宜しくお願い致します。

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

みんなの回答

回答No.1

こんにちは。 1.データベースの文字コードだけに限定するなら、my.confの変更だけでOKです。(再起動後に確認してみてください) 2.データにもよりますが、基本的にそれでよいかと思います。 ただ、ほかのところ(アプリ側など)に影響が出てくるので、結構大変です・・・。 (^^ゞ

関連するQ&A

  • 文字コードの変換方法

    お世話になります。 サーバ上で生成した、文字コードがEUCのテキストファイルをSJISに文字コードを変換したいのですが、nkfコマンドが使用できません。 nkfコマンドを使用せず、EUC⇒SJISへ文字コードを変換する方法をご教示頂けますでしょうか。 また文字コードを変更すれば改行コードの変更はしなくてもいいのでしょうか。 宜しくお願い致します。

  • 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
  • PHP+MySQLでSJISからEUCへの文字コード変換方法を教えてください。

    こんにちは。いつもお世話になっております。本来であれば自サーバーで検証してから質問すべきだとは思いますが、現在稼動中のサーバーしかなく、止めることができないので質問させていただきます。 現在、PHP+MySQLでサイトをSJISコードで運営しておりますが、「表」「能」等のSJISの文字化け対策が面倒になってきまして、EUCに変換してしまおうかと検討しております。 現状の日本語に関する設定は下記のようになっております。 ▼MySQL(my.cnf) バージョン:4.1.20 [mysqld] default-character-set=sjis init_connect="SET NAMES sjis" [mysql.server] default-character-set=sjis [mysqldump] default-character-set=sjis [mysql] default-character-set=sjis ▼PHP(php.ini) バージョン:4.3.9 mbstring.internal_encoding = SJIS mbstring.http_input = pass mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto PHP内でMySQLと接続した直後に次のようにSJISを指定しています。 $sql="SET NAMES sjis"; mysql_query($sql); ちなみに、MySQLはMySQLadminで管理しておりますが、テーブルの照合順序は全てsjis_japanese_ciになっています。 上記のような内容ですが、この場合SJISからEUCに変換する場合の手順として、下記の流れでよろしいでしょうか? 1.PHPファイルをEUCコードに変換。 2.php.iniのSJISの部分をEUCに変換。 3.MySQLの設定ファイルのsjisの部分をujisに変換。 4.MySQLのテーブル内のデータを全てエクスポートして、外部エディタでEUCに変換後インポートする。 特に上記4の作業はテーブル数及びデータが膨大なため結構な作業になってしまいそうです。 もしもっと楽な方法があればご教授いただければ幸いです。なお、サーバーはRed Hat Enterprise Linuxです。

    • ベストアンサー
    • PHP
  • Fedora7でMySQLの文字コードが設定できません

    お世話になっております。Linux初心者です。 Fedora7でLANGをjp_JP.eucJPにしました。 MySQLで、サーバーやデータベース、クライアントのキャラクタセットをEUCにしたいのですが、my.cnfがみあたりません。 どのように設定したらよいかわからず困っています。 どなたかお助けいただけないでしょうか。

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

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

  • mysqlコマンドでcharsetを指定したい

    my.cnfは下記の設定で、 LinuxのSSHでmysqlコマンドを使う時だけ、ujis(EUC) で表示したいのですがどうすれば良いでしょうか? ■/etc/my.cnf [client] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis mysqlコマンドではオプションが指定できないようで・・

  • データのインポート時の文字化けについて

    現在、レンタルサーバ(Linux)のMySQLのDBにクライアント端末(Windows)からデータをインポートさせようとしている状態です。 この時にサーバ側のキャラクタセットがlaten1である為、 sjisのデータを入れようとすると文字化けが発生してしまいます。 こちらの希望としては、 ・DBへ挿入するデータはEUC-JPまたはsjisのテキストファイルをインポートさせたい ・クライアント端末のMySQLは現在sjisで設定しており、それでテストを行っていたのでサーバもそれに合わせたい ・sjisで文字化けが生じてしまう可能性があるならEUC-JPなどでも構わない と考えています。 サーバのMySQLのキャラクタセットについては character_set_client = sjis character_set_connection = sjis character_set_detabase = sjis character_set_results = sjis character_set_server = sjis character_set_system = utf8 となっており、これはSQLのSETコマンドと/etc/my.cnf という設定ファイル双方から修正しました。 (MySQLを再起動した際にcnfファイルの設定が優先されるのかも・・・と感じたのですが、個人的見解なので誤ってたらご指摘お願いします。) また、character_set_system = utf8 については変更不可のようですね。これはバグなのでしょうか? バグだとすれば、これに合った文字コードの設定をする必要はあるのでしょうか? データのインポートの際はツール(かねやんMySQLAdmin)を使用しているのですが、 この設定にも関わらず、サーバのキャラセットは「laten1」であるというメッセージが出てくるので理解に苦しんでいます。 character_set_systemの設定の影響でしょうか? それとも他に文字コード関連の設定箇所があるのでしょうか? どなたかお分かりになる方、教えて下さい。

    • ベストアンサー
    • MySQL
  • さくらインターネットのMySQL の文字セット

    さくらでMySQLを使いたいのですが、文字コードをUTF-8からSJISにしたいのです。 無知識で初め、検索やログを頼りにチャレンジしたのですがいまいち設定がわかりません。 my.cnfに [mysqld] default-character-set=sjis skip-character-set-client-handshake と、書けばいい、などの情報もあったのですが、そもそも「my.cnf」がどこに存在するのかすら分かりません。どなたか教えていただけませんでしょうか。 MySQL 5.1

    • ベストアンサー
    • MySQL
  • MySQLでテーブルごとに内部文字コードを変更したい

    現在、FreeBSD4.7上でMySQL3.23.55を使用しています。 文字コードは default-character-set=ujis と/etc/my.cnfで設定しています。 内部コードがsjisのデータベースを1つだけ作成したい のですが、マニュアルを見ていてもデフォルト以外の charsetのデータベースの作り方が載っていないように 思います。 PostgreSQLだとデータベース毎に作成時に文字コードを 指定できるようなので気になっています。 MySQLでも--with-extra-charsets=complexを指定すれば 各国の言語がインストールされているのでどうにかすれば 使えるはずだと思うのですが・・ 識者の方のアドバイスなどいただけたら幸いです。

  • MySQLの文字コードについて

    こんばんは。今、PHP+MySQLの勉強をしているのですが、PHPとMySQLをSJISで保存して接続をすると文字化けはしないのですが、他の文字コードだと一部文字化けをしてしまいます。 どうやったら、他の文字コードでも化けないようにすればよろしいのでしょうか?ちなみにPHPは5.2/Apache2.0/MySQLは5.0を使っておりmy.iniの文字コード設定はデフォルトでSJISにしています。 よろしくお願いします。