Как изменить кодировку текста LibreOffice по умолчанию?

Я хочу изменить по умолчанию кодировка текста, используемая LibreOffice при сохранении документа в виде текстового документа. Где можно найти этот параметр?

Я хочу UTF-8 без BOM, который я считаю, называется ASCII / US в LibreOffice.

I do знайте, что есть опция кодирования текста, где вы можете (теоретически, если она действительно работала) выбрать кодировку каждого простого файла. У меня три проблемы с это:

  • это не работает должным образом. Т. е. большую часть времени он не показывает каких-либо всплывающее окно, где можно выбрать кодировку и просто спасает а если вы выбрали текстовый вариант. Может быть, один раз в десять испытаний он показывает всплывающее окно.
  • I только редактировать текстовые файлы, и я использую LibreOffice только для проверки орфографии (и подсчета слов). Все файлы, которые я когда-либо захочу написать, должны быть в кодировке UTF-8 без BOM, поэтому я хотел был бы во избежание расточительствовать время каждый раз вручную выбирая эту опцию.
  • если у меня файл правильно закодирован в UTF-8 без BOM, и я затем пытаюсь сохранить его, используя, например,Ctrl+S затем файл будет автоматически сохранен с использованием кодировки текста по умолчанию, которая сохраняет файл как UTF-8 С BOM, который разбивает файл. LibreOffice должен сохранить кодировку файла и сохранить файл как UTF-8 без спецификации. Использовать Сохранить Как каждый раз это реальная трата времени.
9
задан Bakuriu
10.11.2022 3:49 Количество просмотров материала 3248
Распечатать страницу

1 ответ

чтобы открыть диалоговое окно Параметры кодировки, перейдите к Сохранить Как... и Edit filter settings.

во избежание медлительности Сохранить Как..., вы можете использовать макрос, как это:

Sub SaveAsUtf8
    dim aUrl()
    dim fileProps(1) as new com.sun.star.beans.PropertyValue
    fileProps(0).Name = "FilterName"
    fileProps(0).Name = "Text (encoded)"
    fileProps(1).Name = "FilterOptions"
    fileProps(1).Value ="UTF8,CRLF,Liberation Mono,en-US,"
    oDlg = createUnoService("com.sun.star.ui.dialogs.FilePicker")
    oDlg.setMultiSelectionMode(false)
    oDlg.initialize(array(1))
    oDlg.execute
    aUrl = oDlg.getFiles()
    If UBound(aUrl) > -1 Then
        thisComponent.storeAsURL(aURL(0), fileProps())
    End If
End Sub

установить его на горячую клавишу или кнопку на панели инструментов, перейдя к Tools -> Customize.

Он может быть изменен, чтобы использовать глобальную переменную и сохранить ранее используемое положение.

УТФ-8 без Бом, который, кажется, называется ASCII / US

нет, это создает текст в кодировке ASCII, который уничтожит большинство символов Юникода.

Я не вижу параметров фильтра, которые можно сохранить без спецификации из LibreOffice. Вместо этого существуют различные средства командной строки, такие как iconv что можно удалить BOM.

Если у вас есть время, лучшим решением может быть создание макроса Python или Java для чтения документа Writer и записи в файл без BOM. Это можно сделать возможно, в 30 строках кода Python или в два раза больше кода Java. Примечание: Я бы не рекомендовал делать это в Basic из-за его плохих функций обработки файлов.

3
отвечен Jim K 2022-11-11 11:37

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх