Quando uso o LibreOffice Calc e salvo meu arquivo como .csv, o LibreOffice sugere a Europa Ocidental como codificação padrão. No entanto, quero a codificação Unicode-8.
Como defino o unicode-8 como padrão no LibreOffice no Windows 10?
Responder1
Olhando para minha cópia do LibreOffice v5.0.x, parece que não há uma configuração padrão. Olhando em volta, encontrei um exemplo de macro que você pode usar aqui para salvar em UTF8,
https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=19695
e a outra macro para informar a você o uso de uma caixa de diálogo Seletor de Arquivos
https://forum.openoffice.org/en/forum/viewtopic.php?f=25&t=36441
Aqui está o código completo ...
Function fOpenFile() as String
Dim oFileDialog as Object
Dim iAccept as Integer
Dim sPath as String
Dim InitPath as String
Dim oUcb as object
Dim filterNames(3) as String
filterNames(0) = "*.csv"
'filterNames(1) = "*.png"
'filterNames(2) = "*.jpg"
GlobalScope.BasicLibraries.LoadLibrary("Tools")
'Note: The following services must be called in the following order,
' otherwise the FileDialog Service is not removed.
oFileDialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
AddFiltersToDialog(FilterNames(), oFileDialog)
'Set your initial path here!
InitPath = ConvertToUrl("C:\")
If oUcb.Exists(InitPath) Then
oFileDialog.SetDisplayDirectory(InitPath)
End If
iAccept = oFileDialog.Execute()
If iAccept = 1 Then
sPath = oFileDialog.Files(0)
fOpenFile = sPath
End If
oFileDialog.Dispose()
End Function
Sub SaveAsCsvUTF8
Dim Propval(1) as New com.sun.star.beans.PropertyValue
Propval(0).Name = "FilterName"
Propval(0).Value = "Text - txt - csv (StarCalc)"
Propval(1).Name = "FilterOptions"
' field sep(44 - comma), txt delim (34 - dblquo), charset (0 = system, 76 - utf8), first line (1 or 2)
Propval(1).Value = "44,34,76,1"
Doc = ThisComponent
Filename = fOpenFile()
FileURL = convertToURL(FileName)
Doc.StoreAsURL(FileURL, Propval())
End Sub
Atribua-o a um atalho e pronto.
PS: Se o arquivo já estiver em UTF8 deve apenas respeitar isso.
HTH