0

Access 2000 データベースによって作成された MS Access .mdb ファイルがあります。次のコマンドを使用して、mdbtools でテーブルを SQL にエクスポートしようとしています。

mdb-export -S -X \\ -I orig.mdb Reviewer > Reviewer.sql

これで期待どおりのファイルが生成されますが、1 つだけ例外があります。一部の文字が疑問符で表されています。これ: 「彼は準備ができていませんでした」は、次のように表示されます: 「彼は準備ができていませんでした」、一部のケース (主に一重/二重中括弧) でのみ、コンテンツが MS Word から DB に貼り付けられた可能性があります。それ以外の場合、データは見栄えがします。

「export MDB_ICONV=」のさまざまな値を試しました。結果のファイルでiconvを使用してみました.from/toにISO-8859-1、from/toにUTF-8、fromにWINDOWS-1250とWINDOWS-1252とWINDOWS-1256を使用して、さまざまな組み合わせ。しかし、私はそれらの巻き毛の引用符を取り戻すことに成功していません.

率直に言って、結果のファイルの外観に基づいて、問題は元の .mdb ファイルまたは mdbtools にあると思われます。不正な文字はすべて単一の疑問符ですが、同じものの不正なバージョンではないことは明らかです。そのため(私の直感によると)、結果のファイルには十分なデータがありません。そのため(私の直感によると)、結果のファイルで問題を修正することはできません。

誰もこれに遭遇したことがありますか?前進するためのヒントはありますか?FWIW、私は MS Access を持っていませんし、一度も持っていません-ファイルはサードパーティからのものです-データベース上の何かを変更するのと同じくらい簡単かもしれません。それを聞いてとてもうれしいです。

ありがとう。

4

2 に答える 2

2

「スマート クォート」がさらに別の犠牲者を出しているようです。

MS word はプレーンな ASCII 引用符を取り、それらを 2 バイトの左引用符と右引用符に変換し、単一引用符を 2 バイトのアポストロフィ文字に変換します。問題の 2 バイト文字は、ばかげた引用文字を除いて unicode-16 とほぼ互換性のある MS コード ページに属しています。

「demoroniser.pl」と呼ばれる perl スクリプトがあり、この悪意をすべて元に戻し、引用符をプレーン ASCII に変換します。

于 2009-10-07T01:28:48.787 に答える
0

これは、Access ファイルのデータが UTF であり、MDB ツールがそれを ascii/latin/is0-8859-1 またはその他のエンコーディングに変換しようとしていることが原因である可能性が最も高いです。これらのエンコーディングではすべての UTF 文字が適切にマップされないため、疑問符が表示されます。ここにある情報は、MDB ツールで正しいエンコーディングを使用することにより、エンコーディングの問題を解決するのに役立つ場合があります。

于 2009-10-07T01:29:04.370 に答える