文字化けしたデータを復元されられるか、についての質問です。



以前日本語も入力できた社内データベースの一つが、
今回仕様変更によって英語(いわゆる1バイト文字のみ)のみ対応となり、
それ以前に日本語で入力したデータが全て下記のように文字化けするようになってしまいました。
—LBƒM.“à‘¤‚Ƀ쳌¬ŽRAƒnEO‚Ì^ƒ‚é쳌쳌Wƒ“ƒoƒŠ‚ª
(解読されては困るので、ランダムに並べ替えています)


現在ブラウザ上でUTF-8で表示されていることは分かりますが、
実際のデータベースの中でどの文字コードが使われているか、
また昔のデータベースの中の日本語が、
EUCやS-JISなど、どの文字コードで保存されていたのかなどはわかりません。
(担当したシステム会社は、いろいろ尋ねても何もしてくれません)


私自身プログラミングである程度のエンコード経験はありますので、
多少専門的なこともがんばって理解する覚悟があります。


もし今の暗号のような文字列を、
元の日本語に戻す方法があれば教えてくださいませ。

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/07/20 21:22:23
  • 終了:2010/07/27 21:25:02

ベストアンサー

id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492010/07/20 22:48:47

ポイント23pt

データベース本体までもがリプレースされてしまっているとすれば、移行の際に欠落などが発生している可能性がありますので、完全復元は難しいかもしれません

データ移行で欠落が発生していない場合でも、システム内部で同じく欠落が発生している可能性があります

下記のように調べる方法もありますが、ブラウザのエンコードを適当に替えてみるというような事は既に行われたことだと思いますので、調べるまでもないことかもしれません

http://www.bugbearr.jp/?%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%...


解読されては困ることですから、文章としては表に出せないでしょうし、コード変換を試みるためには大量のデータが必要だったりもしますので、掲示板経由で完全対応することはまず無理です


希望的ものになりますが、コード0001で検索して出てくるのは「近藤」のように元の文字がわかっているものはないでしょうか?

連続した文字列では無理であっても、特定のパターンを抽出することが出来たならば解決につながるかもしれません

その他の回答(4件)

id:doropon No.1

回答回数94ベストアンサー獲得回数162010/07/20 22:44:52

ポイント23pt

DBMSの名前とか欲しいところですが、

以前、ふるーいマシンでpostgresが動いていて、

asciiで作ってあるDBにsjisで書き込んでいて、

普通にdumpすると全滅なものを取り扱った時は、

古いほうのサーバからdumpしたデータを

phpでしたが一行ずつmb_convert_encodigして対応しました。

幸いにもうまくいってよかったのですが、正直、ケースバイケースです。


新しいシステムへの移行ってのがあったのではないかと思いますが、

切り戻してもらえないものですかね。

データが保全されていないのはマズイのではと思いますが。

新しいシステムを作成したところも返事無しですか?

お金に関わるところなので契約をみたほうがいいと思います。


http://q.hatena.ne.jp/1279628540

id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492010/07/20 22:48:47ここでベストアンサー

ポイント23pt

データベース本体までもがリプレースされてしまっているとすれば、移行の際に欠落などが発生している可能性がありますので、完全復元は難しいかもしれません

データ移行で欠落が発生していない場合でも、システム内部で同じく欠落が発生している可能性があります

下記のように調べる方法もありますが、ブラウザのエンコードを適当に替えてみるというような事は既に行われたことだと思いますので、調べるまでもないことかもしれません

http://www.bugbearr.jp/?%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%...


解読されては困ることですから、文章としては表に出せないでしょうし、コード変換を試みるためには大量のデータが必要だったりもしますので、掲示板経由で完全対応することはまず無理です


希望的ものになりますが、コード0001で検索して出てくるのは「近藤」のように元の文字がわかっているものはないでしょうか?

連続した文字列では無理であっても、特定のパターンを抽出することが出来たならば解決につながるかもしれません

id:yamaneroom No.3

yamaneroom回答回数1040ベストアンサー獲得回数612010/07/20 23:32:17

ポイント22pt

データベースの製品名も分からないし、「英語(いわゆる1バイト文字のみ)のみ」と仰るカラムの型も分からないようでは、答えようがない。

運良く8ビット・データとして格納されたままであり、データベース名が分かればコンバートする方法はある。

http://q.hatena.ne.jp/

id:kick_m No.4

kick_m回答回数1372ベストアンサー獲得回数542010/07/21 00:53:07

ポイント22pt

データベースというのは通常5箇所くらい文字コードを設定するところがあります。表示がascciでも、格納がuft-8(多くはそう)なら大丈夫です。本当に変換されてしまっていたら、復元は無理だと思います。http://www

id:ko8820 No.5

ko8820回答回数1221ベストアンサー獲得回数692010/07/26 17:12:38

ポイント10pt

日本語の文字コードを想定してコンバートしてみる

素直にバイナリーでコード見たほうが良いのでは?

http://ohta.oioi.jp/cgi-bin/ango.cgi

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません