データベース移設で発生した文字化けの対処方法

このQ&Aのポイント
  • データベース移設に伴い、文字化けが発生しました。この記事では、文字化けを解消する方法について解説します。
  • データベース移設による文字化けの問題を解決する方法をご紹介します。さまざまなエンコーディングを試しても解消されない場合でも、この方法を試してみてください。
  • データベース移設時に文字化けが発生した場合の対処方法について解説します。文字コードの変換やエディターの利用など、さまざまなアプローチを試してみましょう。
回答を見る
  • ベストアンサー

データベース移設 文字化け

現在、とあるショッピングサイト(データベースはPostgreSQL、OSはLinux)を運営しておりまして、そのサイトの英語版を別のサーバで作ることになりました。 商品数が膨大にありますため、一つ一つの商品をショッピングサイトの管理画面からコピーペーストし翻訳することは、物理的にできません。 そこで、PostgreSQLのデータベースの中身を自分のPC(Windows7)にいったんコピーし、テキストエディターで開き、翻訳した後、CSVによって英語版サーバへアップロードする方法を思いつきました。 pg_dumpによってデータベースをコピーし、FTPによって自分のPCに持ってくることは、できました。 いざ拡張子に.txtと付けてメモ帳で開いてみたところ、添付画像のような文字化けとなってしまいました。 拡張子をhtmlに変更しブラウザのエンコードで、シフトJIS、EUC、UTF-8といろいろ試しましたが、ダメでした。DreamWeaverのような文字コードの変換ができるエディターで全ての文字コードを試しましたが、やはりできません。 添付画像のような文字化けを日本語に直す方法をご存知の方、いらっしゃいませんでしょうか?

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

  • ベストアンサー
  • YkazubonY
  • ベストアンサー率30% (26/86)
回答No.2

LINUXのnkfコマンドを使って、pg_dumpしたファイルをS-JISに変換出来ます。 (例) nkf -s 入力ファイル名 > 出力ファイル名 それ以前の問題として、pg_dumpしたファイルを英訳なんて無茶苦茶ですね。 psqlのcopyコマンドでテーブル毎にCSVファイル出力可能です。 これをnkfコマンドでS-JISに変換し、PCにftpする方が現実的でしょう。

参考URL:
http://www.postgresql.jp/document/9.3/html/sql-copy.html

その他の回答 (1)

  • adobe_san
  • ベストアンサー率21% (2103/9760)
回答No.1

あんさん、これ使ってみたらどうでっしゃろ? http://blog.livedoor.jp/k1LoW/archives/64925007.html

関連するQ&A

  • mysql 文字化けについて教えてください。

    現在Fedoraの自宅サーバで OpenPNEでのソーシャルネットワークと xoopsでのサイトを作っています。 OpenPNEでは文字コードをShift-jisに設定しなくては ならず、設定したところ文字化けはしなくなったのですが、 今度はそれまでEUC-JPで文字化けしていなかったxoopsが 文字化けしてしまいました。 1つのデータベースサーバでデータベースごとに 文字コードをわけることはできるのでしょうか? 設定方法を教えてください。 宣しくお願いします。

    • 締切済み
    • PHP
  • mysqlのデータベースの文字コードの変換について

    mysqlのデータベースの文字コードの変換について教えてください。 テストサーバー環境で誤って文字コードUTF-8のデータベースを作成し、文字コードEUC-JPのデータを投入してしまいました。 それでもテストサーバー環境では文字化けせずにウェブアプリを表示できていましたが、テストサーバーのデータをエクスポートすると、テキストエディタで開いた時点で文字化けしています。 (文字コードはUTF-8、EUC-JPのいずれでも) もちろんそのデータを本番サーバーにインポートしても文字化けしてしまいます。 (データベース文字コードはUTF-8、EUC-JPのいずれでも) テストサーバーからデータをエクスポートする前に文字コードを変換することは可能でしょうか? もしくは他に問題を解決する方法はありますでしょうか? ご存知の方がいらっしゃいましたら教えてください。

    • ベストアンサー
    • MySQL
  • データベースの移転がうまくできません

    PostgresSQLに詳しい方、教えてください。 現在、私はネットショッピングサイトのサーバ管理をしており、データベースにPostgresSQLを使ってます。 サーバのハードが老朽化してきたため、今までの自社サーバーをやめ、レンタルサーバをかりてそこへサイト移転することになりました。 PHPやHTMLといったソース類は、容易に移転できたのですが、データベースの移転がうまく行かず困っております。 どなたかご教示ください。 ■環境(移転元) サーバ:自社サーバ OS:Linux version 2.4.20-16.9 Postgresバージョン:psql (PostgreSQL) 7.3.4 ■環境(移転先) レンタルサーバ会社:さくらインターネット サービス名:さくらのVPS(v3) 1G OS:Linux version 2.6.32-279.1.1.el6.x86_64 Postgresバージョン:psql (PostgreSQL) 8.4.13 ■現象 移転元のサーバにて、pg_dump -i コマンドを実施。 生成されたダンプファイルをFFFTPにて自分のWindows7のマシンに保存。 Windows7上のエディター(DreamWeaver)でファイルを開くと文字化けしています。 エディターのエンコードをシフトJIS→EUCに変更するとデータベースに入力されている文字列をきちんと見ることができます(一部文字化けは残るのですが。)ので、ここまでは成功しているように思っています。 このダンプファイルをFileZillaにて移転先のサーバにアップロード。 psqlコマンドでリストア。 あらかじめ、移転先のPostgresには移転元のデータベース名と同じものを作成し、ユーザー名も同じものを作成してあります。 ところが、いざselectコマンドを使いデータを検索してもあるはずのデータが出てきません。 テーブルはきちんと作成されているようなのですが。 どうしたらデータをきちんと移転できるのでしょうか? どなたか、ご教示頂けないでしょうか。

  • mySQLデータベースに書き込むと文字化けをする

    すみませんタイトルにある通りなのですが、データベースはmySQLを使用していて、 コマンドプロンプトからinsertコマンドなどで書き込んだ後に、テーブルの内容を 表示すると、文字化けをしていることがあります。 対策はあるのでしょうか?日本語の一部は必ず文字化けをしてしまうのですか? 同時にweb(自作のアプリケーション)からデータベースに書き込む時も同様の現象が起こってしまいます。 文字コードの指定方法で解決できると思うのですが、わからないのですよろしくお願いします。

  • ソースの文字化け

    FC2ホームページを利用しています。 メモ帳でタグを打ち、コピー&ペーストでFC2のファイルエディタに移しています。ファイルエディタでの文字コードはEUC-JPです。 サイトを開設して数ヶ月、先日初めて自身のサイトのソースを見たのですが、文字化けしている事を知りました。 試しに、他者様のサイトのソースをいくつか見せていただいたのですが、それらは文字化けしていませんでした。 とりあえず文字化けして見えたのは、自身のサイトとFC2ブログを利用されている方のブログぐらいです。 (とは言え、そんなにたくさんのサイトを見て回ったわけではないのですが) この数ヶ月、知り合いからサイトそのものの不具合(見られない等)は聞いていないので、多分正常に表示されているのだとは思いますが、このまま放っておいてもいいのでしょうか。 ソースのことより、サイトが崩れていないかの方が気になっています。 何か修正した方がいいのでしょうか・・・。

  • HTMLの文字化けについて

    HTMLの文字化けについて クライアントPC(WindowsVista)で作成したHTMLファイルをサーバ(CentOS5.4)にアップして、ブラウザから確認してみたところ、文字化けを起こしてしまいました。 ローマ字は問題ないのですが、日本語が文字化けしてしまっており、表示がめちゃくちゃになってしまっています。 HTMLはK2Editorにて作成して、文字コードはShift-JIS、改行コードはCRLFとしております。 しかし、文字化けした状態でブラウザの文字エンコーディングをEUC-JPに変えて再度読み込んでみたところ、文字化けせずに表示されます。 サーバ側の文字コードは、 # vi /etc/sysconfig/i18n LANG="ja_JP.EUC-JP" と設定し、デフォルトのUTF-8からEUC-JPに変えております。 なので、もしかしたらサーバ側の文字コードとHTMLの文字コードが何か関係しているのかと私は思うのですが・・・ 文字化けの原因がお分かりになる方いらっしゃいましたら、ご教授のほどお願い致します。

    • ベストアンサー
    • HTML
  • mysqlの文字化けについて

    さくらサーバーのプレミアムプランで、MYSQLが文字化けを起こして困っています。 MYSQL5.1、データベースの文字コードはUTF8です。 UTF8でエンコードされたPHPプログラムからデータをINSERTすると文字化けを起こします。 ハッスルサーバーで同じ環境を再現すると、文字化けは起こしません。 違いは、ハッスルサーバーでは、「character_set_server utf8」になっているのに対して、 さくらサーバーでは、「character_set_server ujis 」となっています。 この、ujisをutf8に変更すれば解決しそうに思うのですが、変更の仕方がわかりません。 アドバイス頂けましたら、幸いです。

  • phpで読み込むmysqlのデータベースが文字化け

    閲覧ありがとうございます。 数年前に作成し、なんの問題もなく運用していた顧客管理のデータベースが昨日から日本語の部分のみ文字化けをおこし????という表示になっています。 サーバーからmysqlのデータを見に行くと、データそのものには問題がなさそうです。 変更は何も加えていません。 サーバー側も見に行きましたが、メンテナンスや変更は行われておりません。 phpからの読み込みに問題があるのかと思ったのですが、新しくテストで入力した文字列に関してはちゃんと表示ができていたので、一体何に問題があるのかわからなくなっています。 読み込みに問題があるとすれば、新しく入力したものに関しても文字化けすると思ったのですが・・・。 考えられる原因と、できる対処はなにかありますでしょうか? phpバージョン PHP5.3.3 mysqlバージョン MySQL5.0 文字コード UTF-8

    • 締切済み
    • PHP
  • データベースと文字コードの関係

    お恥ずかしい話ですが、文字コードのことが良くわかっておりませんので、utf-8を使ったデータベースをWindowsから取り扱う方法を教えて下さい。 Excelマクロからフリーのデータベースを使って簡単なアプリケーションを作成しようと思っています。 軽くて設定も簡単なSQLiteを使いたいのですが、文字コードがutf-8になっているとのことで、Windows上でCSVファイルをutf-8で保存してから、SQLiteのデータベースにインポートしてみました。 Windwosサーバー上にあるSQLiteに対して、コマンドラインでSELECT命令を発行したり、Excelのデータベースクエリーを実行したりしてみましたが、当然というべきか文字化けしてしまいます。 Excelのシート上で入力したS-JISの値をutf-8のSQLiteに書き込む(また、Excel上でSQLiteのコードを文字化けさせずに表示させる)には、どうしたらよいのでしょうか?

  • SmartyでXMLの読み込みデータが文字化け

    今まで使っていたサーバーのプランが古くて容量が少ないため、同じレンタルサーバーでプランUPしました。 ただそのプランは旧プランと仕様が下記のように変わっています。 【PHP】 旧プラン:PHP4 → 新プラン:PHP5 【文字コード】 旧プラン:EUC-JP → 新プラン:UTF-8 【データベース】 旧プラン:MySQL4.1 → 新プラン:MySQL5 【データベース文字コード】 旧プラン:EUC-JP → 新プラン:UTF-8 文字コードがUTF-8になったため、それに合わせてページの文字コード等を変更したのですが、 一部Smartyで作られるページがあり、そのページの文字化けだけがどうしても解決できません。 そのページはPHPファイル、tplファイル、xmlファイルの3ファイル使っています。 各ファイルはテキストエディタでUTF-8に変換し、tplファイルにある表示される文字は文字化けしません。 ただxmlファイルから読み込むデータが、すべて「?」マークの文字化けをしてしまいます。 念のため、ここだけEUC-JPのまま、つまり何も変更をしない状態にしても同じ「?」マークの文字化けをしてしまいます。 他のファイルも見てみたのですが、文字コードらしい要素が見当たらず(もしくは気づかない)原因がわかりません。 Smartyはまだよくわからなくて、このシステムを作った前々任者とも連絡がとれないので、どうすればいいのか困っています。 どうか宜しくお願いします。

    • 締切済み
    • XML