Я читал много тем по этой теме, но все указывают на набор символов в базе данных.
Я использую строки со специальными символами, такими как 'ñ', и не могу установить их прямо в базе данных. Как вы можете догадаться, символы поменялись на '?'.
Дело в том, что, используя это утверждение, я получаю его ПРАВО:
stmt = con.prepareStatement("INSERT INTO LONG_CODES_TABLE (TIMESTAMP, TABLE_NAME, CODE__C, CODE_DESC)
VALUES (GET_TIMESTAMP, 'MUNICIPIOS', '" + municipio + "', '" + municipio + "') ");
И только в той же базе данных и таблице, ничего не меняя, если я использую следующее, я получаю '?' символ в БД:
stmt = con.prepareStatement("INSERT INTO LONG_CODES_TABLE (TIMESTAMP, TABLE_NAME, CODE__C, CODE_DESC)
VALUES (GET_TIMESTAMP, 'MUNICIPIOS', ?, ?) ");
stmt.setString(1, municipio);
stmt.setString(2, municipio);
Итак, проблема с символами возникает ТОЛЬКО, если я использую setString.
Есть идеи?
РЕДАКТИРОВАТЬ: значение переменной «municipio», например: «ABADIÑO».
Позже я могу проверить разницу между выполнением этого в пути или другим способом, запросив это значение с помощью оператора sql, например:
select * from long_codes_table
where table_name = 'MUNICIPIOS' and code__c = 'ABADIÑO'
Один из способов получить строку результатов. С другой стороны, я не знаю.
Спасибо.