Мне нужна помощь. Я должен читать данные из файла и хранить его в Oracle db. Я сталкиваюсь с проблемами, когда в данные появляются символы типа «à» или «À». Например, «à» читается и становится «Ã» в моем приложении, поэтому, когда я пытаюсь сохранить данные в db, иногда db жалуется на значения, слишком большие относительно поля, которое будет сохранено. Я также tryiedПерсонаж inferno
Normalizer.normalize(row, Form.NFD).replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
я заплатил внимание о кодировании тоже. Я замечаю, что если я запустил приложение на файл данных, файл Cp1252, на машине Windows я не получил никаких ошибок. К сожалению, у меня появились ошибки, когда я запускал материал на машине Linux. Я использую java 6. TIA.
При чтении файла вам необходимо преобразовать из байтов в строку с соответствующим набором символов. Кажется, вы используете кодировку по умолчанию. – assylias
Здравствуйте, @assylias, я прочитал файл этой инструкцией: 'br = new BufferedReader (новый InputStreamReader (новый FileInputStream (новый файл (« myfile.txt »)), Charset.forName (« Cp1252 »));' I измените значение Charset на UTF-8, когда файл находится на машине linux. – Francesco
Не меняйте эту строку на машине Linux! Файл кодируется кодировкой cp1252, поэтому даже в linux вам нужно прочитать его с этой кодировкой (если только я не пропустил что-то). – assylias