ズメケンDXF DRAWING CHECK

DXFの文字化けの直し方|原因はShift_JISとUTF-8の違い、CADなしで日本語を読む方法

約6分

DXF を開くと注記や表題欄の日本語が文字化けする原因(Shift_JIS と UTF-8 の違い)と直し方を説明します。送り主に頼む書き出し方、CAD なしで文字化けせずに読む方法を、Shift_JIS のサンプル図面で示します。

受け取った DXF を開いたら、線や寸法は出るのに、注記や表題欄の日本語だけが「�」や意味のない漢字の列になっている。図面の形は見えても、材質も表面処理も読めないので、結局は送り主に問い合わせることになります。この記事では、DXF の文字化けが起きる理由と、受け取った側・送る側それぞれの直し方を順に書きます。

DXF が文字化けする原因(Shift_JIS と UTF-8)

DXF は中身が文字で書かれたファイルです。日本語の文字をバイトの並びに置き換える決まりを文字コードと呼び、DXF でよく使われるのは Shift_JIS と UTF-8 の 2 つです。書いた側と読む側で文字コードの前提が食い違うと、同じバイトの並びが別の文字として読まれ、文字化けになります。

DXF の仕様では、AutoCAD 2007 以降の形式で書き出した DXF は UTF-8 で書かれます。それより古い形式では、ヘッダの $DWGCODEPAGE に書かれた文字コード(日本語なら Shift_JIS)で書かれます。国内の CAD には、互換性のために古い形式で書き出すものや、書き出しの既定が古い形式のものが多く、受け取った DXF が Shift_JIS ということはよくあります。

ファイルの文字コード読む側の前提見え方
Shift_JISShift_JIS正しく読める
Shift_JISUTF-8日本語が「�」や記号の列になる
UTF-8Shift_JIS日本語が「縺」「繧」などの関係ない漢字の列になる
UTF-8UTF-8正しく読める

線・円・寸法の数値は英数字だけで書かれているので、文字コードが食い違っても化けません。化けるのは日本語の入った文字(注記・表題欄・図面名・レイヤー名など)だけです。形は出るのに日本語だけ読めない、というのが文字コードの食い違いの典型的な症状です。

文字コードではなく、フォントが原因のとき

CAD で開いたときに日本語が「?」や「□」で出る場合は、文字コードではなく、図面が指定している日本語フォントが手元の環境に無いことが原因のこともあります。この場合はファイルの中身は正しく、フォントを用意するか、CAD 側で代わりのフォントを割り当てれば読めます。ブラウザのビューアで開いて日本語が読めるなら、ファイルの文字コードは正しいと判断できます。

DXF の文字化けの直し方

直し方は、受け取った側でできることと、送る側に頼むことに分かれます。まず受け取った側で読めるかを試し、どうしても読めないときに送り主へ書き出し直しを頼むのが手早い順番です。

受け取った側:文字コードを自動で判定するビューアで開く

ズメケンの DXF ビューアは、ファイルをまず UTF-8 として厳密に読み、UTF-8 として読めないバイトの並びがあれば Shift_JIS として読み直します。どちらの文字コードで書かれた DXF でも、設定を切り替えずに日本語がそのまま出ます。手順は、ブラウザでビューアのページを開き、DXF を枠へドラッグ&ドロップするだけです。

  1. 1.ブラウザで DXF ビューアのページを開く
  2. 2.文字化けした DXF を枠へドラッグ&ドロップする(または枠をクリックしてファイルを選ぶ)
  3. 3.注記・表題欄の日本語が読めるか確かめる。読めれば、ファイルは正しく、文字化けは開いた道具の側の問題

読み込みも表示もブラウザの中で終わり、図面はサーバーへ送られません。CAD が無いパソコンでも、Mac でも同じ手順です。開き方の全体は、記事「DXFファイルの開き方」にまとめています。

送る側:新しい形式の DXF で書き出し直す

相手の道具が UTF-8 前提で、こちらの DXF が Shift_JIS のときは、CAD の書き出し画面で DXF の形式(バージョン)を AutoCAD 2007 以降のものにすると、ファイルが UTF-8 で書かれます。逆に、相手の CAD が古く新しい形式を読めないときは、古い形式で書き出します。どの形式を選べるか、選んだ形式でどの文字コードになるかは CAD ごとに違うので、CAD の書き出しの設定を確かめてください。

テキストエディタで DXF の文字コードだけを変えて保存し直す方法もありますが、おすすめしません。ヘッダの $DWGCODEPAGE や DXF の形式と中身の文字コードが食い違い、別の CAD で開いたときにかえって化けることがあります。直すなら、CAD から書き出し直すのが確実です。

Shift_JIS の DXF をビューアで開いて確かめる

Shift_JIS で保存したサンプル図面を用意しています。ガイドプレートの図面で、注記には「指示なき寸法の普通公差は JIS B 0405 中級とする」「表面処理: 無電解ニッケルめっき 5μm」などの日本語が入っています。UTF-8 前提の道具で開くとこの注記が化けますが、ビューアで開けばそのまま読めます。

ビューアの「検図するとどう見えるか(この図面で試す)」を押すと、検図の指摘が図面の上に重なります。結果は、同じ図面を UTF-8 で保存したもの(sample-complex.dxf)と同じ 4 件です。文字コードが違っても、読み取る中身は変わりません。

重大記入されている寸法値が実際の形状と一致しません

判定根拠:記入値 48 / 実形状 50

※ 検図で実際に出る文言です。

その場で試す

Shift_JIS で保存した図面(sample-sjis.dxf) を検図すると:注記や「正面図」「側面図」の日本語が化けずに表示されます。検図を重ねると 4 件の指摘。うち「記入されている寸法値が実際の形状と一致しません」が重大で出ます。

保存したサンプルを検図ページへドロップしてください。処理はブラウザ内で完結し、図面は外部へ送信されません。

自動判定でできないこと

  • 判定するのは UTF-8 と Shift_JIS の 2 つだけです。UTF-8 として読めないファイルはすべて Shift_JIS として読むので、それ以外の文字コード(中国語や韓国語の環境で書かれた DXF など)は正しく読めません
  • ヘッダの $DWGCODEPAGE は見ていません。文字コードは中身のバイトの並びから判定しています
  • 図面が指定したフォントは使いません。文字は端末にある日本語のフォントで表示するので、フォントが無くて化けることは避けられますが、文字の幅や見た目は CAD で見たときと変わることがあります
  • バイナリ形式の DXF と DWG は開けません。CAD から ASCII 形式の DXF で書き出し直してもらってください
  • 文字が画像になっている図面(スキャンした PDF など)は、文字を読めません

文字化けの多くは、ファイルが壊れているのではなく、読む側の前提が違うだけです。まず文字コードを自動で判定する道具で開いてみて、それでも読めないときに送り主へ書き出し直しを頼めば、問い合わせの往復が減ります。

よくある質問

DXF の文字化けの直し方を教えてください
まず UTF-8 と Shift_JIS を自動で判定するビューアで開いてみてください。ズメケンの DXF ビューアなら、どちらで書かれた DXF でも設定を変えずに日本語が読めます。それでも読めないときは、送り主に CAD から DXF を書き出し直してもらいます。
DXF が文字化けするのはファイルが壊れているからですか
多くの場合、壊れてはいません。書いた側と読む側で文字コード(Shift_JIS と UTF-8)の前提が違うだけです。線や寸法の数値は化けず、日本語の文字だけが化けるなら、文字コードの食い違いを疑ってください。
文字化けした DXF を検図できますか
UTF-8 か Shift_JIS で書かれた DXF なら、日本語を正しく読んだうえで検図します。Shift_JIS のサンプル図面でも、UTF-8 で保存した同じ図面と同じ指摘が出ます。

この記事の内容を、自分の図面で

DXF か PDF を置くだけで、この記事の項目を含む 4 観点を自動で照合します。処理はブラウザ内で完結し、図面は外部へ送信されません。

DXF をブラウザで開く

関係する動画

ほかの記事