.txt kayıt turunu UTF-8 nasıl yaparım

0

Merhaba basic ile yazdıgım bir programda c:\kasa dizinin altında hesap.txt dosyası varmı yokmu diye kontrol ettiriyorum eğer yoksa oluşturuyorum daha sonra içerisine yazdırmak istediklerimi yazdırıyorum fakat dosya kayıt türü türkce karakterden dolayı işimi görmüyor ANSI olarak kaydediyor.ben dosya kayıt türünün UTF-8 olmasını istiyorum yapamadım belki dosya olustukdan sonra formatını değiştirebilirim diye düşünüyorum.Nasıl bir yol izlemem gerekiyor.Kullandıgım kodlar asagıda.

 

    Dim kasa_fs As System.IO.FileStream = New System.IO.FileStream("C:\kasa\hesap.txt", IO.FileMode.Create)
    Dim kasa_wr As System.IO.StreamWriter = New System.IO.StreamWriter(kasa_fs)

    kasa_wr.Close()

   FileOpen(1, "C:\kasa\hesap.txt", OpenMode.Output)

   PrintLine(1, hesap_kod+ Space(30 - Len(hesap_kod)) + Mid(hesap_ad, 1, 25))

 

bu sekıllerde de denedım ama hata aldım

Dim kasa_wr As System.IO.StreamWriter = New System.IO.StreamWriter(kasa_fs, False, Encoding.UTF8)

Dim kasa_wr As System.IO.StreamWriter = New System.IO.StreamWriter(kasa_fs, True, System.Text.Encoding.Default)

hata mesajı :

error 15 Overload resolution failed because no accessible 'New' can be called with these arguments: 'Public Sub New(path As String, append As Boolean, encoding As System.Text.Encoding)': Value of type 'System.IO.FileStream' cannot be converted to 'String'. 'Public Sub New(stream As System.IO.Stream, encoding As System.Text.Encoding, bufferSize As Integer)': Value of type 'Boolean' cannot be converted to 'System.Text.Encoding'. 'Public Sub New(stream As System.IO.Stream, encoding As System.Text.Encoding, bufferSize As Integer)': Value of type 'System.Text.Encoding' cannot be converted to 'Integer'.

metinbeci metinbeci (1)
7 yıl önce sordu

Toplam 2 Cevap


0

StreamWriter'ı şu şekilde oluşturursan hata almayacaksın:

   Dim stWriter As New System.IO.StreamWriter(New IO.FileStream("C:\kasa\hesap.txt", IO.FileMode.Create), System.Text.Encoding.UTF8)
    

 

alattin alattin (17125)
7 yıl önce cevaplandı

    0

    evet yazdığın şekilde yapınca hata vermiyor ama txt dosyasınıda UTF-8 olarak kayıt etmiyor ANSI yapıyor yani sorun çözülmedi.madem txt UTF-8 olarak kayıt edemiyoruz peki txt olustukdan sonra yapısını değiştirebilirmiyiz mesela 

    c:\kasa\hesap1.xls dosyasını c:\kasa\hesap1.doc gibi tabi buradaki ornek uzantıyla ilgili benimki kayıt türü yani char set UTF-8 e sonradan donusturebilirmiyiz.

    metinbeci metinbeci (1)
    7 yıl önce cevaplandı

    • Ansi olduğunu nereden çıkardın? Yukarıdaki kod utf-8 oluşturur. alattin 7 yıl önce
    üyelik gerektirir

    Cevap yazabilmek için üye girişi yapmalısınız.

    Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
    uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol