LibreOffice Calc를 사용하고 파일을 .csv로 저장할 때 LibreOffice는 서유럽을 기본 인코딩으로 제안합니다. 그러나 나는 유니코드-8 인코딩을 원합니다.
Windows 10에서 LibreOffice의 기본값으로 유니코드-8을 어떻게 설정합니까?
답변1
내 LibreOffice v5.0.x 사본을 보면 기본 설정이 없는 것 같습니다. 하지만 주위를 둘러보면서 여기서 UTF8로 저장하는 데 사용할 수 있는 매크로의 예를 찾았습니다.
https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=19695
파일 선택기 대화 상자를 사용하도록 알려주는 또 다른 매크로는 다음과 같습니다.
https://forum.openoffice.org/en/forum/viewtopic.php?f=25&t=36441
여기에 완전한 코드가 있습니다 ...
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
바로가기에 할당하면 됩니다.
추신: 파일이 이미 UTF8로 되어 있다면 이를 존중해야 합니다.
HTH