如果调用GetStringFromName返回错误

在用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来说是不可以见到的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值