GCC具有-finput-charset,-fexec-charset和-fwide-exec-charset三个编译选项,用于指定“编译链”中涉及的特定编码.如下所示:
+--------+ -finput-charset +----------+ -fexec-charset (or) +-----+ | source | -------------------> | compiler | -----------------------> | exe | +--------+ +----------+ -fwide-exec-charset +-----+
我在这里发现了一个关于-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有没有办法处理这个问题?