Excel'in bir dosyayı CSV türüne kaydederken BOM'u kaldırırken neden varsayılan olduğunu bulmak için makul bir çözüm / açıklama (başarısız) bulmaya çalışıyorum.
Bunun bir kopyasını bulursanız lütfen beni affedin bu soru. Bu, ASCII olmayan kodlamayla CSV dosyalarını okumayı ele alır, ancak dosyayı geri kaydetmeyi kapsamaz (en büyük sorunun bulunduğu yer).
İşte şu anki durumum (toplayacağım, Unicode karakterleri ve CSV formatı ile ilgili yerelleştirilmiş yazılımlar arasında yaygın):
Malzeme listesinin (0xFFFE) ayarlandığından emin olarak UTF-16LE kullanarak verileri bir CSV formatına dışa aktarıyoruz. Dosyanın doğru ayarlandığından emin olmak için bir Hex düzenleyiciyle oluşturulduktan sonra doğrularız.
Dosyayı Excel'de açın (bu örnekte Japonca karakterleri dışa aktarıyoruz) ve Excel'in dosyayı doğru kodlamayla yüklemeyi ele aldığına tanık olun.
Bu dosyayı kaydetmeyi denemek, dosyanın Unicode kodlamasıyla uyumlu olmayan, ancak yine de kaydetmek isteyip istemediğinizi soran özellikler içerdiğini belirten bir uyarı mesajı verir.
Farklı Kaydet iletişim kutusunu seçerseniz, dosyayı hemen CSV yerine "Unicode Metin" olarak kaydetmenizi ister. "CSV" uzantısını seçip dosyayı kaydederseniz, malzeme listesini kaldırır (açıkçası tüm Japonca karakterlerle birlikte).
Bu neden oldu? Bu soruna bir çözüm var mı, yoksa bu bilinen bir 'hata' / Excel'in sınırlandırılması mı?
Ek olarak (bir yan sorun olarak), UTF-16LE kodlu CSV dosyalarını yüklerken Excel'in yalnızca TAB sınırlayıcıları kullandığı anlaşılıyor. Yine, bu başka bir bilinen 'hata' / Excel'in sınırlandırılması mı?