人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MYSQLの文字コード変換について教えてください。
WindowsにインストールしたMySQL5.5があります。
文字コードはutf8になっています。

全てをcp932に変更したいと思います。
問題なのは、対象テーブルと対象カラムです。
これらも全てutf8で設定されています。
よって、対象テーブル、対象カラムを全て一括で
cp932に変換したいと思います。
1つ1つ変換していく方法ならわかるのですが、
対象カラムなんてひとつひとつcp932に変換していたら
大変な労力が必要になります。一発でできるような
方法はないでしょうか?

サーバー全体,対象データベース,対象テーブ ル,対象カラム

●質問者: popattack
●カテゴリ:コンピュータ インターネット
✍キーワード:MySQL Windows なのは ひとつ インストール
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど
●150ポイント

方法は色々ありますが、手っ取り早いのはmysqldumpで文字コードを指定して旧データベースからCP932で引っ張り出し、別のディレクトリに復元する方法になるでしょう(my.cnfの設定を変えるだけで元のデータベースを利用することも出来ますのでテスト環境構築などにも使える手法です。もちろんバックアップにも使えます)

1.mysqldumpでバックアップ(cp932の指定は必須。他は適宜)

http://dev.mysql.com/doc/refman/5.1/ja/mysqldump.html

mysqldump --add-locks --default-character-set=cp932 -e -l -Q データベース名 > バックアップファイル名

ファイルの中身はテキストなので、テキストエディタでCP932になっているかを確認しておくと良いでしょう

2.データベースディレクトリとキャラクタセット設定の変更

MySQL設定ウィザードを用いると良いかもしれません(私は使ったことありません)

http://dev.mysql.com/doc/refman/5.1/ja/mysql-config-wizard-starting.html

旧データベースとは違うフォルダを指定して、キャラクタコードもcp932を指定しておくと良いでしょう

設定ウィザードが正しく起動できない場合はmy.iniファイルを検索して探し、テキストエディタでキャラクタセットの指定を追加します

[mysqld]
datadir="データベースを保存するフォルダ"
default-character-set=cp932
[mysql]
default-character-set=cp932
[mysqldump]
default-character-set=cp932

3.バックアップから再構築

mysqldump データベース名 < バックアップファイル名
◎質問者からの返答

おぉ、この方法でとりあえずできました!ありがとうございます!


2 ● km1981
●150ポイント

この方法を使えばできると思います

http://railspress.matake.jp/mysql%E3%81%AB%E6%97%A2%E3%81%AB%E5%AD%98%E5%9C%A8%E3%81%99%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E5%86%85%E9%83%A8%E3%81%AE%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89

◎質問者からの返答

ご回答ありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ