dポイントプレゼントキャンペーン実施中!

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をデータベースとして使用しています。 

よろしくお願いします。

A 回答 (1件)

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文の文字コード指定、データ部分の文字コードは影響を受けないのであまり意味はないような気はします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!