Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
9
Cevap
676
Tıklama
0
Öne Çıkarma
'õ¹' gibi karakterleri Sql Tablosuna kaydetme
O
9 yıl
Teğmen
Konu Sahibi

"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ı.



M
9 yıl
Yarbay

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ı >
Bu mesaja 1 cevap geldi.
O
9 yıl
Teğmen
Konu Sahibi

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


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Mephalay
M
9 yıl
Yarbay

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ı >
Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @omrumbakitemiz
O
9 yıl
Teğmen
Konu Sahibi

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...
< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi omrumbakitemiz -- 14 Nisan 2016; 15:04:47 >


Bu mesajda bahsedilenler: @Mephalay
O
9 yıl
Teğmen
Konu Sahibi

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.

< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi omrumbakitemiz -- 15 Nisan 2016; 12:57:39 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Mephalay
M
9 yıl
Yarbay

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.
< Resime gitmek için tıklayın >

Tablonun collation'i
< Resime gitmek için tıklayın >

DB'nin collation'i
< Resime gitmek için tıklayın >



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @omrumbakitemiz
D
9 yıl
Teğmen

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.


Bu mesaja 1 cevap geldi.
A
9 yıl
Yarbay

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ı


Bu mesaja 1 cevap geldi.
O
9 yıl
Teğmen
Konu Sahibi

Teşekkürler :D




Bu mesajda bahsedilenler: @Alper#
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.