2016年10月31日

DM200のUTF-8は「BOMあり」じゃないと文字化けします

 ポメラはこれまで、SHIFT JISの文字コードのみ扱えました。これが、DM200になってUTF-8も扱えるようになりました。SHIFT_JISには無い文字も扱えるということで、喜んだユーザーも多いようです。私もその一人です。

 DM200の「設定」・「ファイル管理」で文字コードを設定できます。この設定は、ポメラで新規にファイルを作った場合のものです。すでに作成されたテキストファイルは、SHIFT_JISでもUTF-8でも開いて編集することができます。

 しかし、UTF-8対応はちょっとやっかいな仕様になっています。DM200のUTF-8は「BOMあり」という形式です。BOMなしのUTF-8を開くと文字化けしてしまいます。

追記:2017/02/17 公開のファーム Ver.1.2にて「UTF-8」BOMなしファイルの展開に対応しました。
 ユニコードには、UTF-8の他にUTF-16・UTF-32などの種類と内部的なデータの並べ方(エンディアン)に違いがあります。その判別に使われるのが「BOM:(バイトオーダーマーク)」です。
 BOMをつけることが必須にされてこなかったという経緯から、仕様上データの並べ方(エンディアン)の違いがないUTF-8にもBOMありとなしが存在しています。

 これによって、UTF-8 に BOM が付くことを想定していないアプリケーションではトラブルが起きる可能性があります。たとえば、HTML制作でBOMありのUTF-8を使うと、ページのレイアウトに不自然な余白ができてしまうということが起こります。WEB関係の、HTML・CSS・JavaScript・PHPなどは、BOMなしが無難です。

 しかし、Windowsの「メモ帳」や「Excel」では、「BOMあり」にしないと不具合が起きます。

 ポメラ側で、BOMの有無をコントロールできればいいのですが、BOMありのファイルしか作ることができません。

 困るのは、GoogleドライブなどのクラウドやWebアプリケーションで作ったテキストファイルがUTF-8 BOMなしであることです。テキストファイルをダウンロードしてDM200に入れても、文字化けしてしまいます。
 そこで、保存時の文字コードを指定できるテキストエディタなどで、保存し直すという操作が必要になります。Windowsならば、メモ帳が強制的にBOMありにしてくれます。

 けっこう面倒な操作になるので、Windows用ですが複数のテキストファイルをUTF-8 BOMありで保存し直すツールを作ってみました。

 使い方は簡単で、テキストファイルを実行ファイルにドロップするだけです。アプリをダブルクリックすると、ファイル指定のウインドウがでるので、変換したいファイルをドロップしてください。

 ファイルは、上書きされるので重要なファイルなどは、コピーを取った上で操作してください。

 元のテキストファイルは、文字コードがSHIFT_JISやEUCなどでも、すべてUTF-8 BOMありに変換します。


 本プログラムを使用することによって起きる損害等について、著作権者は一切責任を負いませんのでその旨ご了承ください。
 バージョンアップ、バグ対応、サポートなどに対する責任も負わないものとします。


ダウンロード: pomera_UTF-8.zip

 お役に立ちましたら幸いです。
posted by Outliner 伊藤 崇 at 18:11| Comment(2) | ポメラ・電子ノート
この記事へのコメント
伊藤様

いつもブログを読んでいます。

テキストにもいろいろな形式があるんだなぁって勉強に
なりました。
そのあたりの知識がありませんでしたので、会社のパソ
コンで入力したデータをポメラで開いたときの文字バケ
で悩んでいました。
それを簡単に解消してくれるツールを使わせていただき、
とても感謝しています。

ありがとうございます。
Posted by ともさん at 2016年12月28日 19:43
ともさん

ブログをお読みいたきありがとうございます。
これからも、さまざまな情報やツールを提供していこうと考えています。

ご要望などありましたら、お気軽にご連絡ください。
今後ともよろしくお願いします。
Posted by Outliner 伊藤崇 at 2016年12月29日 06:28
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: