私の会社の Web サイトのコンテンツの大部分は、Word ドキュメント (Windows-1252 エンコード) として作成され、最終的に UTF-8 エンコードのコンテンツ管理システムにコピー アンド ペーストされます。変換は通常、手動でクリーンアップする必要があるいくつかの文字 (特別な改行文字、スマート クォート、科学的表記法) で停止しますが、もちろん、常にいくつかの文字がすり抜けることがあります。
これらを検出する最善の方法は何だと思いますか?
私の会社の Web サイトのコンテンツの大部分は、Word ドキュメント (Windows-1252 エンコード) として作成され、最終的に UTF-8 エンコードのコンテンツ管理システムにコピー アンド ペーストされます。変換は通常、手動でクリーンアップする必要があるいくつかの文字 (特別な改行文字、スマート クォート、科学的表記法) で停止しますが、もちろん、常にいくつかの文字がすり抜けることがあります。
これらを検出する最善の方法は何だと思いますか?
どのように正確に変換を行っていますか?
Word からコピーする問題全体は、私が以前より頻繁に遭遇したものですが、実際には簡単に解決できるはずです。
あなたが言及したこれらの文字はすべて、Windows 0x80
- 1252 コード ページが ISO-8859-1 コード ページと異なる0x9F
範囲内にあります。その範囲は、ISO-8859-1 では定義されていません。
Windows-1252 の代わりに ISO-8859-1 (またはおそらく ISO-8859-15) から変換を行っている必要があるため、その範囲の文字でチョークが発生します。
変換のソース エンコーディングを調整するか、それが不可能な場合 (私は C# に詳しくありませんが、それには疑問があります)、コード ページ チャートを使用して、メインの変換とは別に 32 個の問題文字を修正する必要があります。
既に述べたように、Word の内容を解析可能な形式 (RTF または XML のいずれか) にエクスポートするのが最善です。
コピー アンド ペーストを使用してマテリアルを CMS に追加する特定の理由があるかもしれませんが、クリップボードを監視するツールを作成しない限り、コピー アンド ペーストを使用すると、おそらく常に何らかの視覚的なチェックと修正が行われることになります。
Word の (最近のバージョン) からコピーして貼り付ける場合、クリップボードには使用できるさまざまな形式がいくつかあります。そのうちの 1 つは XML ベースです。クリップボード上の Word XML をクリーンアップし、テキスト バージョン (おそらく CMS に貼り付ける) をクリーンアップされた形式に "設定" するものを作成することは可能です。
これを作成するには、Office および標準の C# クリップボード関数に付属する Word.interop を使用できます。このツールは、コンテンツを CMS に追加している間、Word の上で (バックグラウンドで) 動作する可能性があります。
テキストを .rtf として保存し、他のプログラムを使用して解析できますか?
Word の VBA を使用して、テキストを正常なものとして保存できますか?