Right now, I am forced into choosing a specific language for my CSV file. All characters not in my selected language become question marks.
What you are asking might not be possible. In my limited experience, CSV files are coded in ASCII which allows some accented characters (using Extended-ASCII) but not all foreign characters. But It might be possible to generate a CSV file using UTF-8 character coding which should cover many/most foreign alphabets. I don’t know if this is possible in LibreOffice.
Of course it is. And yes, UTF-8 covers all Unicode characters, not just many/most.
@erAck, thanks for the info. I stand corrected (and informed).
CSV files are plain-text files, thus, they do not have such an attribute as a language. The only thing that you do in that respect is to control the encoding when you export to CSV, so make sure to tick Edit filter settings in the export dialog. To be on the safe side, choose UTF-8 or UTF-16. For further information refer to the manual.
Here is my macro that exports a spreadsheet to UTF-8, tab-delimited, no text delimiter:
Sub ExportToGlossary Dim oDoc as Object Dim glossaryFileProperties(3) as new com.sun.star.beans.PropertyValue Dim sURL as String Dim iLen as Integer Dim isSpreadSheet as Boolean oDoc = ThisComponent If oDoc.getLocation() = "" Then Exit Sub isSpreadSheet = oDoc.supportsService("com.sun.star.sheet.SpreadsheetDocument") If isSpreadSheet Then sURL = oDoc.getLocation() iLen = len(sURL) If lcase(right(sURL,4))=".ods" Then sURL = left(sURL, iLen - 4) Else If lcase(right(sURL,4))=".xls" Then sURL = left(sURL, iLen - 4) Else If lcase(right(sURL,5))=".xlsx" Then sURL = left(sURL, iLen - 5) End If End If End If sURL = sURL + ".txt" glossaryFileProperties(0).Name = "FilterName" ' setting properties of exported file such as tab as field delimiter, nothing as text delimiter, UTF-8 as encoding glossaryFileProperties(0).Value = "Text - txt - csv (StarCalc)" glossaryFileProperties(1).Name = "FilterOptions" glossaryFileProperties(1).Value = "9,0,76,1,,0,false,true,false" glossaryFileProperties(2).Name = "Overwrite" glossaryFileProperties(2).Value = True oDoc.storeToURL(sURL, glossaryFileProperties()) End If End Sub