Есть ли какой-либо путь через java-программу, я могу сказать Excel открыть файл csv в utf8?

Я пишу данные в файл A.csv, используя javacode, а затем читаю файл A.csv и записывая в БД. У меня есть данные на китайском языке, и excel не распознает правильно, получая ненужные значения. Есть ли способ, которым я могу показать excel, чтобы открыть файл csv в utf8, чтобы javacode читал символы utf8 и записывал его в Db?

public class T { CSVWriter out = null; private void write(String[] values) throws IOException { out.writeNext(values); } public static void main(String[] args) throws IOException { File f = new File("s.csv"); FileOutputStream os = new FileOutputStream(f, false); CSVWriter out = new CSVWriter( new BufferedWriter( new OutputStreamWriter( os, "UTF-8"))); } } 

По умолчанию Excel пытается использовать локаль пользователя, чтобы определить, какой 8-битный Windows Charset использовать при открытии CSV.

Добавив в верхнюю часть файла спецификацию UTF-8, Excel (Windows и Mac> 2013) откроет файл в режиме UTF-8.

 public static void main(String[] args) throws IOException { File f = new File("s.csv"); FileOutputStream os = new FileOutputStream(f, false); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( os, "UTF-8")); bw.write('\ufeff'); CSVWriter out = new CSVWriter(bw); //English, Euro sign, German, Greek String[] row = {"hello there","€", "Würzburg", "Αριστοτέλης Τέλλυ Σαβάλας"}; out.writeNext(row); out.close(); } 

Используемая вами кодировка не поддерживает китайские буквы, однако измените UTF-8 на UTF-16, что подойдет вашему решению, поскольку оно поддерживает китайские буквы.

Если вы хотите поддерживать emojis и т. Д. В будущих обновлениях, используйте UTF-32.

Надеюсь, что это решает вашу проблему, лучше всего.

  • Есть ли способ создать строку, которая может быть вставлена ​​в Excel с общим форматированием (например, пули, внутрисетевые разрывы строк)
  • Откройте Excel с кодировкой ANSI, в Excel 2010
  • Php CSV экспортирует кодировку UTF8, вызывая неправильный формат excel
  • Apache POI - Колонка с неанглийскими символами, например, тайская и ячейка пустая, а затем пропускает ячейку
  • Формат: неправильная ширина строки при кодировании UTF-8
  • Действие Web API возвращает FileContentResult, который, если он сохранен как .csv, будет отображаться как тарабарщина, а если в качестве .txt - это нормально. Зачем?
  • Экспорт Excel в .txt через скрипт
  • Определение кодировки UTF8 при импорте CSV в VB.Net
  • Чтение UTF-8 в Java из Excel txt export
  • Строки из Excel в utf-8 mysql
  • VBA - прочитайте CSV с utf-8 и выпишите еще один CSV с utf-8
  • Interesting Posts

    Функция VBA 'Let' не устанавливает свойство класса

    xlsxwriter / openpyxl: excel показывает правильный формат, но не применяет его до изменения ячейки

    Вставьте (а затем ссылку) изображение в Excel с помощью VBA

    Я хотел бы, чтобы даты отображались на оси X, а цветная категория отображалась на оси Y, Excel

    прикладывать те же дополнения, но из разных папок при запуске Excel

    VBA Excel Защитите комментарии

    Печать массива длинных ячеек в VBA и получение индекса за пределами диапазона

    Excel vba – пропущенные строки уже выделены

    Как сделать макрос, который периодически выполняется в Excel?

    Оптимизация кода макроса VBA / Excel (поиск дубликатов в большом листе)

    Excel с использованием замены на формулах

    Заполнение данных Excel из вкладки в другую вкладку

    Закрытие Excel после бездействия, даже в режиме редактирования

    Сохранение списка в качестве переменной

    Хотите импортировать биты (пару строк) .txt для excel

    Давайте будем гением компьютера.