Я пытаюсь вставить символы выше диапазона ascii 128 с помощью программы на C ++ (символы Ø, Å). Работает нормально для символов ascii менее 128
Тип данных, используемый в базе данных: VARCHAR2
Эти символы вставляются в виде вопросительных знаков (????) в БД
Если я установлю значение поля в БД с этими символами через Жабу и попытаюсь прочитать с помощью приложения, они будут прочитаны как вопросительные знаки (????)
Может ли кто-нибудь дать мне пример кода для вставки строк, содержащих эти символы (значение ascii выше 128).
Я думаю, что проблема с преобразованием типов данных. (Потому что на уровне приложения перед вставкой в БД эти символы отображаются правильно. Также, если я задаю значение поля через Toad и считываю из БД, они читаются как вопросительные знаки. Я могу установить значение поля в БД, что означает, что столбец БД может содержать эти символы)
Я использую следующие методы для определения и привязки в моем приложении
OCIDefineByPos (p_sql, & p_dfn, p_DBCon-> p_err, iPos,
(dvoid *) p-> un_DataArray.pzValue, (меч) iSize, SQLT_STR, (dvoid *) p-> un_FlagArray.pssValue, 0, 0,
OCI_DEFAULT);
OCIBindByName (p_sql, & p_bnd, p_DBCon-> p_err, (текст *) zName,
-1, (dvoid *) zValue, iSize, SQLT_STR, 0, 0, 0, 0, 0, OCI_DEFAULT);
Может ли кто-нибудь помочь мне
Или, если у вас есть пример программы, которая может вставить значения ascii до 256, пожалуйста, поделитесь ею со мной