エラー処理がかったるいので window.onerror で一括処理しようとしたら文字化けした。


window.onerror = function(desc, url, line) {
alert(desc);
}
throw "テスト";


結果:

uncaught exception: ƹÈ


エスケープして文字コードを調べて見る。

window.onerror = function(desc, page, line, chr) {
alert(escape(desc));
}
throw "テスト";


結果:

uncaught%20exception%3A%20%C6%B9%C8


"テスト"のEUCコード 16進ダンプ。

00000000= a5c6 a5b9 a5c8


どうやら EUC(OSのデフォルト文字コード) に変換して下8bit に切ってるらしい..
完全に FireFox のバグでどうにもなりそうな気がしないので諦める。