GCC имеет -finput-charset
, -fexec-charset
и -fwide-exec-charset
три параметра компиляции для указания конкретных кодировок, участвующих в "цепочке компиляции". Как показано ниже:
+--------+ -finput-charset +----------+ -fexec-charset (or) +-----+
| source | -------------------> | compiler | -----------------------> | exe |
+--------+ +----------+ -fwide-exec-charset +-----+
Ссылка: Параметры компилятора GCC
Я нашел вопрос о -finput-charset
здесь: Спецификация кодировки исходного кода в MSVС++, например gcc "-finput-charset = CharSet" . Но я хочу знать, имеет ли VC
параметр компилятора, например -fexec-charset
в GCC, для указать набор символов выполнения.
В Visual Studio я нашел относительный параметр: Project Properties/Configuration Properties/General/Character Set
. И значение Use Unicode Character Set
. Это делает то же самое, что и -fexec-charset
в GCC? Таким образом, я хочу установить набор символов выполнения UTF-8. Как?
Почему я хочу установить кодировку выполнения?
Я пишу приложение на С++, которое должно связываться с сервером db. И кодировка таблиц - utf8. После того, как я построю несколько тестов, тесты будут улавливать исключения, связанные с операциями вставки в таблицах db. Исключения говорят мне, что они соответствуют неправильным строковым значениям. Я полагаю, что это вызвано неправильным правом кодирования? Кстати, есть ли другие способы решения этой проблемы?