TEST: Yapay Zeka yanıtı
(Yanıtı faydalı bulduysanız yoruma yazabilirsiniz.)
Windows üzerindeki LibreOffice Writer, mail merge (form mektubu) çıktısını .txt olarak dışa aktarırken varsayılan olarak ANSI (Windows-1254) kodlaması kullanır. Linux’ta ise sistem yerel ayarları nedeniyle doğal olarak UTF-8 çıktısı alınır. Ne yazık ki Windows tarafında şu anda doğrudan arayüzden “TXT dosyasını UTF-8 üret” seçeneği yoktur.
Ancak aşağıdaki çözümlerden biri ile UTF-8 çıktıya ulaşabilirsiniz:
1. TXT dışa aktarırken “Save As” üzerinden UTF-8 seçilebiliyor
Mail Merge çıktısı oluştuktan sonra:
- Oluşan .txt dosyasını açın
-
File → Save As seçin
- Dosya türünü Text (.txt) olarak bırakın
- Sağ altta bir “Edit Filter Settings” kutucuğu belirecektir → işaretleyin
- Kaydedince bir iletişim penceresi açılır
-
Character Set bölümünden UTF-8 seçebilirsiniz
Not: Mail merge sırasında otomatik oluşturulan TXT dosyaları bu pencereyi açmaz; tek tek yeniden kaydetmek gerekir.
2. Mail Merge çıktısını “Metin (CSV) olarak dışa aktar” yöntemi
Bazı kullanıcılar mail-merge çıktısını önce CSV olarak üretip sonra TXT’ye dönüştürerek UTF-8 alabiliyor:
- Mail Merge → Output → “Save as single file”
- Tür olarak Text CSV (.csv) seçin
- Filtre ayarlarında UTF-8 seçilebilir
- Daha sonra CSV’yi Notepad/Notepad++ ile .txt olarak kaydedin (UTF-8 korunur)
Bu yöntem, içeriğiniz satır satır düz metinse çoğu durumda sorunsuz çalışır.
3. Makro ile Mail Merge çıktısını doğrudan UTF-8 kaydetmek (Kesin çözüm)
Writer’ın UNO API’si üzerinden metin dosyasını UTF-8 ile yazdırmak mümkündür.
Temel bir örnek (LibreOffice Basic):
Sub SaveAsUTF8
Dim oDoc As Object
Dim args(1) As New com.sun.star.beans.PropertyValue
oDoc = ThisComponent
args(0).Name = "FilterName"
args(0).Value = "Text"
args(1).Name = "FilterOptions"
args(1).Value = "UTF8"
oDoc.storeToURL("file:///C:/temp/cikti.txt", args())
End Sub
Mail merge işleminin son adımında belgeyi bu makro ile kaydederseniz sonuç dosyası UTF-8 olur.
İnternette “storeToURL UTF8 filteroptions” şeklinde aradığınızda benzer örnekler bulabilirsiniz.
LibreOffice topluluğu Windows kullanırken bu yöntemi en çok tavsiye ediyor.
4. Sistem bölgesel ayarı UTF-8 denemesi (sınırlı)
Windows 11’de şu ayar bazen LibreOffice’in TXT çıktı kodlamasını etkiliyor:
Settings → Time & Language → Language & Region → Administrative language settings → Change system locale → “Beta: Use UTF-8 for worldwide language support”
Bu çözüm:
- Bazı programlarda işe yarıyor,
- LibreOffice’te ise sonuç kullanıcıdan kullanıcıya değişiyor.
Mail merge için garantili bir çözüm değildir, ama denemek isterseniz sistem genelinde UTF-8 davranışı sağlar.
Özet
- Windows’ta Writer TXT çıktısı varsayılan olarak ANSI oluşturur.
- Linux’ta olduğu gibi otomatik UTF-8 kaydetme yerleşik olarak yoktur.
- En pratik yol: dosyayı yeniden Save As → UTF-8 ile kaydetmek.
- En kesin yol: Makro ile UTF-8 zorlamak.
- CSV üzerinden UTF-8 almak bir başka uygulanabilir yöntemdir.
İstersen, mail merge sırasında otomatik UTF-8 kaydedebilen hazır bir makro da oluşturup mesajına ekleyebilirim.