多数の「問題のある」特殊文字を含む ANSI エンコードの CSV ファイルがあります。CSV 内の各レコードをチェックし、問題のある文字を含むレコードを特定するために使用できるスクリプト (できれば php または javascript) を探しています。
CSV レコードをループするのに問題はないので、文字列が UTF-8 でエンコードされたファイルに直接挿入された場合に問題を引き起こす文字が単一の文字列に含まれているかどうかを判断する良い方法を探しています。
背景: 最初に CSV を UTF-8 に変換することを気にせずに、スクリプトを使用して ANSI CSV を直接 UTF-8 XML に変換しました。私の側の骨の折れる動き。スクリプトは問題のある文字を含むレコードの XML エンティティを作成しましたが、スクリプトが問題のある文字を含むテキストを挿入しようとしたすべての textNodes は空になりました。私が今探しているのは、元の CSV ファイルを解析し、問題のある文字を含むすべてのレコードを識別する方法です。〜18,000件のレコードがあるので、手動でやりたい仕事ではありません:-)
明確化 最初に ANSI CSV を UTF-8 に変換してから、UTF-8 でエンコードされた CSV ファイルに対して「XML に変換」スクリプトを実行する必要がありました。代わりに、最初のステップをスキップして、ANSI でエンコードされた CSV ファイルに対して「XML に変換」スクリプトを実行しました。すべてのセルに対して XML エンティティが作成されましたが、— (em ダッシュ) や ½ (半分) などの文字を含むセルの XML エンティティはすべて空でした。「XML への変換」スクリプトは、これらの文字列を UTF-8 でエンコードされた XML ドキュメント (PHP で DOMDocument を使用) に挿入するのに暗黙のうちに失敗しました。