【发布时间】:2016-10-18 11:34:08
【问题描述】:
我有一个使用 unicode 字符串的 c++ 应用程序,我已经编译了解决方案 ---- 使用 Visual Studio 2012。 ------窗口7
文件以带有 BOM(字节顺序标记)的 utf-8 格式保存。当我在 linux 中运行相同的文件时,出现以下错误:- 错误:程序中出现杂散“\239” 1:错误:程序中出现杂散“\187” 1:错误:程序中出现“\191”
我发现 gcc 不支持 c++ 文件中的 BOM。如果我从文件中删除 BOM,错误得到解决。有没有一种方法可以编译我的应用程序,其中包含使用 BOM 保存在 utf-8 中的文件?
还有一件事,我正在“Red hat enterprise Linux 4 edition”中编译应用程序,其中 GCC 版本为 3.4.6。
请在这方面帮助我。
感谢和问候 维卡斯
【问题讨论】:
-
我相信你会很难过,除非升级 gcc,我在 gcc 4.1.2 中看到了类似的错误修复(gcc.gnu.org/bugzilla/show_bug.cgi?id=33415),似乎从 4.3 开始,它是主流。
-
亲爱的 Armel... 感谢您的回复。您能告诉我在红帽企业版 4 中升级的方法吗?我尝试使用红帽企业 4 的 cd rom 升级 4.1.2,但我仍然遇到错误。我猜是因为 4.1.2 编译器中的错误。请帮帮我
-
亲爱的Experts,我可以在我的Red hat enterprsie edition 4中使用哪个版本的gcc,它可以支持具有带有BOM(字节顺序标记)的utf8文件。任何人都可以告诉我从哪里可以下载相同的内容并解决我的问题。谢谢和问候
-
不幸的是我不习惯 RedHat 的东西......
-
尊敬的专家们 有没有为 RedHat Enterprise Edition 4 创建的补丁来解决 GCC 的错误,即不编译具有字节顺序标记的 UTF8 文件?