c – VC在GCC中是否有编译选项,如“-fexec-charset”来设置执行
GCC具有-finput-charset,-fexec-charset和-fwide-exec-charset三个编译选项,用于指定“编译链”中涉及的特定编码.如下所示:
+--------+ -finput-charset +----------+ -fexec-charset (or) +-----+ | source | -------------------> | compiler | -----------------------> | exe | +--------+ +----------+ -fwide-exec-charset +-----+ 参考:GCC compiler options 我在这里发现了一个关于-finput-charset的问题:Specification of source charset encoding in MSVC++,like gcc “-finput-charset=CharSet”.但是我想知道VC是否有一个编译器选项,如GCC中的-fexec-charset来指定执行字符集. 我在Visual Studio中找到一个似乎相对的选项:项目属性/配置属性/常规/字符集.值为“使用Unicode字符集”.它在GCC中是否与-fexec-charset一样?这样我想将执行字符集设置为UTF-8.如何? 为什么要设置执行的编码? 我正在C中编写一个需要与数据库服务器通信的应用程序.而表的字符集是utf8.在构建一些测试后,测试将捕获在db表上的插入操作周围抛出的异常.例外情况告诉我,他们遇到不正确的字符串值.我认为这是由编码错误造成的? BTW有没有办法处理这个问题? 解决方法
AFAIK,VC没有命令行标志来让您指定一个UTF-8执行字符集.
但是它(偶尔)支持无证件 #pragma execution_character_set("utf-8")` 参考here. 要使用此编译指示获得命令行标志的效果,您可以在标题中编写pragma VC 2010中的pragma被支持,然后在VC 2012中被遗忘,并再次被支持在VC 2013 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |