岡田良介
7月 29, 2016

utf8のデータベースにSJISのデータを登録したためphpadminで化けるのをどうにかする

mysqldumpやphpmyadminを利用してエクスポートする方法ではなかなか治りません。

テーブルを抽出して変換して再度アップするというのが一番楽なようです。

sqlのエクスポートファイルを変換する方法をいろいろチャレンジしている人がおおいのですが、失敗することも多く確実ではありません。

(1)最初にサーバ上にデータをイクスポートしますが、次のようなコマンドで出力します

centos上での作業を前提にしています。

mysqldump -p -u root –tab=/tmp –fields-terminated-by=, データベース名 テーブル名

/tmp  以下に二つのファイルができます (テーブル名sql と テーブル名.txt)

(2)nkfを使ってテーブル名.txtを変換します

nkf -Jw テーブル名.txt > 適当な名前のファイル

(3)パソコンにダウンロードしてphpmyadmin でインポートするか、DBマシン上でmysqlコマンドをつかってインポートする。

コマンド名忘れたのでまた書きます。そのうち。簡単です。