Şimdi Ara

'õ¹' gibi karakterleri Sql Tablosuna kaydetme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
10
Cevap
0
Favori
537
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • "f…¤1)iÔfÞ5wõQ‹¹" örnek olarak bu metni ben sql server'da bir table'a kaydetmek istiyorum. Kayıt yapılıyor fakat bazı karakterler yanlış kaydediliyor. "�" gibi değişik karakterler olarak kaydediliyor.

    SQL Server Collation: SQL_Latin1_General_CP1_CI_AS olarak ayarlı.



  • Collation degisikligi yapmak gerek, MSSQL 'de tam olarak neye karsilik geldigini bilmesem de UTF8 ' in bir versiyonu isinizi gorecektir.
    Insert edeceginiz karakterler utf8 encoding'inde tanimli ise tabi.
    Bu arada CI da case sensitive demekti yanlis hatirlamiyorsam, yani sizin business modele gore bir Collation belirlemelisiniz.

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • Mephalay M kullanıcısına yanıt
    Biraz araştırdım fakat MsSql'de UTF-8 desteğinin olmadığını öğrendim. Aslında benim veri tabanım azure'da. UTF-8 desteği olan başka bir sağlayıcıya geçmem mi gerekiyor acaba? İngilizce kaynaklarda alternatif olarak verileri binary olarak saklayabileceğim yazıyordu. Acaba onu mu denemeliyim? Konu hakkında çok bilgi sahibi değilim kusura bakmayın. :D
  • omrumbakitemiz kullanıcısına yanıt
    Ben de mssql , azure vs hakkinda bilgili degilim. Ama utf8 in olmamasi bana cok sacma geldi. Kesin vardir. Collation olarak secebilecegin alternatifler neler acaba, var mi elinde bir listesi benim gorebilecegim ?

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • Mephalay M kullanıcısına yanıt
    Elimde liste yok ama Management Studio'da bayağı uzun bir liste var ama onu da buraya yazamam. İçindekilerden bazıları şunlar: SQL_1xCompat_CP850_CL_AS, SQL_Latin1_General_CP1_Cl_Al, Latin1_General_100_BIN vb...
     'õ¹' gibi karakterleri Sql Tablosuna kaydetme



    < Bu mesaj bu kişi tarafından değiştirildi omrumbakitemiz -- 14 Nisan 2016; 15:04:47 >
  • Mephalay M kullanıcısına yanıt
    MsSql'den vazgeçip mysql'e geçtim ve collation olarak "utf8-default-collation" seçtim fakat karakterler yine aynı şekilde yanlış görünüyor.

     'õ¹' gibi karakterleri Sql Tablosuna kaydetme



    < Bu mesaj bu kişi tarafından değiştirildi omrumbakitemiz -- 15 Nisan 2016; 12:57:39 >
  • omrumbakitemiz kullanıcısına yanıt
    DB'nin collation'ini sectikten sonra yarattigin tablolar DB'den aliyor collation'i.
    Ben utf8 ile denedim oldu. Sen muhtemelen once table create ettin, sonra degistirdin, tablonun collation'i latin'de kaldi.
     'õ¹' gibi karakterleri Sql Tablosuna kaydetme


    Tablonun collation'i
     'õ¹' gibi karakterleri Sql Tablosuna kaydetme


    DB'nin collation'i
     'õ¹' gibi karakterleri Sql Tablosuna kaydetme

    < Bu ileti tablet sürüm kullanılarak atıldı >




  • Konu hakkında çok bilgim yok ama ben şöyle birşey yapardım muhtemelen. Unicode karaktere çevirirdim, \u1505 tarzı bir sayı çıkardı ortaya, onu da bu şekilde DB'ye kaydederdim, tekrar alırken de karaktere çevirip gösterirdim.
  • Belki karakterin utf8 altında bir karşılığı olmayabilir. Çok abuk sabuk bir karakter yollarsın utf8'de tanımlı olmaz. Bu yüzden sen en iyisi utf32 yap bu dertten kurtul. Yani böyle bir hata ile karşılaşmaya devam edersen diye söylüyorum

    UTF32'de her karater daha fazşa yer kaplar ve ciddi bir miktar olduğunu söylebilirim

    Örnek: Orhun alfabesindeki karakterler utf16'dan itibaren kayıtlı




  • Alper# kullanıcısına yanıt
    Teşekkürler :D
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.