ホーム > Web技術 > UNICODEの制御コードはJavaScriptで展開できない

UNICODEの制御コードはJavaScriptで展開できない

2008 年 7 月 29 日 コメントをどうぞ コメント

制御コードは普通ASCIIの00-1F辺りに配置されているが、UNICODEの一般句読点付近に配置されている制御コードにも注意が必要だ。

JSONデータのやり取りでUNICODEの制御文字が入っていると、JavaScriptで文字列を展開することができない。 例えば、2028のLINE SEPARATOR, 2029のPARAGRAPH SEPARATORが混入していると、JavaScriptの文字展開ができずに例外が発生する。 (ただしIEでは問題なく処理できる)

RSS ReaderのWebアプリを実行している関係で、変な文字コードを含んだテキストに遭遇することが間々ある。 たぶん海外のテキストエディタか文字変換ツールを通して変な制御文字が混入するのだろうとみている。

今回はSEPARATORコードしか検証していないが、その他の制御コード(RightToLeftOverwrideとか)もダメな可能性が高い。 本当はJavaScriptエンジンで対応してもらうのが正しいことなんだけれど、仕方なくソフト側で対応することにした。

カテゴリー: Web技術
  1. コメントはまだありません。
  1. トラックバックはまだありません。

スパム投稿ではないことを確認するため、計算式の答えを半角数字で入力してください。 * Time limit is exhausted. Please reload the CAPTCHA.