Powershell Export-CSV türkçe karakter sorunu karşımıza çıkabilir. PowerShell ile bir CSV dosyası oluştururken Türkçe karakterlerin doğru şekilde görüntülenmemesi genellikle dosyanın kodlaması (encoding) ile ilgilidir. Windows PowerShell 5.1’de Export-Csv varsayılan olarak ASCII kodlamasını kullanır ve Türkçe karakterler ‘?’ olarak kaydedilir. PowerShell 7’de ise varsayılan kodlama BOM’suz UTF-8’dir (utf8NoBOM); Excel bu dosyayı BOM olmadan açtığında karakterleri ANSI sanarak bozuk gösterir. Ancak Excel gibi uygulamalar bazen UTF-8 kodlamayı düzgün okuyamaz.
Türkçe karakter sorununu çözmek için aşağıdaki yöntemleri deneyebilirsiniz:
1. UTF-8 BOM ile Çıktı Oluşturma
Türkçe karakterlerin doğru görüntülenmesini sağlamak için Export-Csv komutunu -Encoding parametresiyle birlikte kullanabilirsiniz:

$data = @(
[PSCustomObject]@{Ad = "Ayşe"; Soyad = "Çelik"; Yaş = 30}
[PSCustomObject]@{Ad = "Mehmet"; Soyad = "Yılmaz"; Yaş = 40}
)
# UTF-8 BOM ile CSV oluşturma (Windows PowerShell 5.1)
$data | Export-Csv -Path "C:\Dosyalar\output.csv" -Delimiter ";" -NoTypeInformation -Encoding UTF8
# PowerShell 7 ve sonrası: UTF8 BOM eklemez, utf8BOM kullanın
$data | Export-Csv -Path "C:\Dosyalar\output.csv" -Delimiter ";" -NoTypeInformation -Encoding utf8BOM
Not: Windows PowerShell 5.1’de -Encoding UTF8 dosyaya BOM ekler ve Excel Türkçe karakterleri doğru gösterir. PowerShell 7’de ise UTF8 BOM eklemez; Excel için -Encoding utf8BOM kullanın.
Not: Excel genellikle UTF-8 BOM ile kaydedilmiş dosyaları doğru şekilde işler.
2. UTF-16 Kodlaması Kullanma
Eğer yukarıdaki çözüm çalışmazsa, UTF-16 kullanarak dosyayı kaydetmeyi deneyin. Excel UTF-16’yı varsayılan olarak destekler:
$data | Export-Csv -Path "C:\Dosyalar\output.csv" -Delimiter ";" -NoTypeInformation -Encoding Unicode
3. PowerShell ile Manuel Dosya Yazımı
Bazı durumlarda, CSV yazımını ConvertTo-Csv ve Out-File komutlarıyla kontrol edebilirsiniz:
$data | ConvertTo-Csv -NoTypeInformation -Delimiter ";" | Out-File -FilePath "C:\Dosyalar\output.csv" -Encoding UTF8
4. Excel’de Manuel Kodlama Ayarları
Eğer yukarıdaki yöntemlerle oluşturduğunuz CSV dosyasını Excel’de açtığınızda karakter sorunları devam ediyorsa:
- Excel’de Dosya > Aç seçeneği ile CSV’yi seçin.
- Kodlama seçeneğini UTF-8 veya Unicode (UTF-16) olarak belirleyin.
- Ayırıcı olarak noktalı virgül (;) veya virgül (,) seçeneğini kontrol edin.
Örnek Sorun Giderme Senaryosu
Eğer Türkçe karakterler hala bozuk görünüyorsa, aşağıdaki kontrol listesini inceleyin:
- Dosya Kodlaması: Doğru
-Encodingparametresini seçtiğinizden emin olun. - Excel Ayarları: Dosyayı Excel yerine Notepad gibi bir uygulamada açarak karakterlerin düzgün görünüp görünmediğini kontrol edin.
- Dil ve Bölge Ayarları: Sisteminizin dil ve bölge ayarlarının Türkçe olduğundan emin olun.
Sorun devam ederse, dosyayı bir metin editöründe açıp doğru görünüm sağlanana kadar farklı kodlama ayarlarını deneyebilirsiniz.
Powershell Export-CSV Türkçe karakter sorununu çözmüş olduk. Başka daha ayrıntılı kaynak olarak Microsoft Learn inceleyebilirsiniz.
