如果调用GetStringFromName返回错误

来源:互联网 发布:网络歌曲男女对唱大全 编辑:程序博客网 时间:2024/05/11 22:02

在用Visual Studio 2008编写Firefox控件时遇到一个问题,调用GetStringFromName()总是返回以下错误

----------------------------------------------------------------------------------------

错误: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIStringBundle.GetStringFromName]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: chrome://xtaddons/content/savepages.js :: onBrowseCmd :: line 6"  data: no]

----------------------------------------------------------------------------------------

 

重新检查了源码若干遍,无果。搜索了一下GOOGLE,得解。

 

<h1>规则:如果你要编写基于Gecko的应用程序或Firefox扩展,请注意将所有源文件保存成不带签名的UTF-8/CodePage65001。</h1>

尤其是包含非英文语言字符的文件,如.property, .dtd, ...

 

在我的机子上,Visual Studio 2008把含中文字符一个.property文件保存成了GB18030编码,造成了Firefox/Gecko无法识别。我将编码选为“Unicode(UTF-8无签名)-代码页65001”后保存这个文件,问题得解。

UTF-8签名是指文件开头的EF BB BF三个字节,这三个字节对于Gecko来说是不可以见到的。