添付ファイル名の文字化け

Thunderbird で日本語の添付ファイル名が文字化けするバグの原因らしきコード。


/intl/uconv/src/nsUTF8ConverterService.cpp

nsUTF8ConverterService::ConvertURISpecToUTF8(const nsACString &aSpec, const char *aCharset, nsACString &aUTF8Spec)
{
(略)
PRBool written = NS_UnescapeURL(PromiseFlatCString(aSpec).get(),
aSpec.Length(), esc_OnlyNonASCII, unescapedSpec);
(略)

return ToUTF8(unescapedSpec, aCharset, aUTF8Spec);
}

ShiftJIS の第二バイトが 0x80 以下で、かつエスケープされてる場合に化けるらしい。
ということは、Unix 系 OS だと平気だな。