こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MySQLデータベースリカバリ文字コード指定

Windows環境でのMySQLのデータベースバックアップで、以下のように文字コードを指定してバックアップが行われています。
mysqldump -uユーザ名 -pパスワード --default-character-set=sjis データベース名 > ****.sql

バックアップからリストアするのですが、同じサーバ上で既存の同じデータベース(名)があるので
一度DROP DATABASE データベース名;してからCREATE DATABASE データベース名;を行うつもりです。
以下の2点について教えてください。

(1)create databaseする際に文字コードを指定する必要がありますでしょうか?
create database データベース名 CHARACTER SET sjis;

(2)リストア実行時に文字コードを指定する必要がありますでしょうか?
mysqldump -uユーザ名 -pパスワード --default-character-set=sjis データベース名 < ****.sql

因みに
※my.iniには文字コードの指定で、sjis指定の表記がありました。
※Moveble TypeでMySQLをデータベースとして使用しています。 

よろしくお願いします。

投稿日時 - 2012-11-12 15:58:46

QNo.7794125

すぐに回答ほしいです

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

windows環境のsjisはwindowsの機種固有文字を含まないので今後は「cp932」を使用することをおすすめします。
・my.iniの文字コードの指定をcp932にする。
・mysqldump -uユーザ名 -pパスワード --default-character-set=cp932 データベース名 > ****.sql
・create databaseする際にCHARACTER SET cp932を指定
・ダンプファイルの「CREATE TABLE文の「CHARACTER SET」を確認。SJISだったらcp932に変更。(エディタなどの一括変換が便利)
・リストアはmysqlコマンドです。コマンド実行時に文字コードを指定しても、ダンプファイルの中のCREATE TABLE文の文字コード指定、データ部分の文字コードは影響を受けないのであまり意味はないような気はします。

投稿日時 - 2012-11-13 18:31:24

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問