unmedico
Merhaba arkadaşlar,
Laravel 5.1 kullanarak bir proje geliştiriyoruz. Veri tabanı olarak Mssql kullanacağız.
Sqlsrv driverını kurdum bağlantı sağlandı. Tablomuzun karakter seti Turkish_CI_AS olarak tanımlı.
Fakat bazı alanlara unicode karakterler gelebilir. Alman,Bulgar yada Azeri alfabesindeki karakterleri kaydetmemiz gerekiyor.
Bunun için ilgili alanları nvarchar,ntext gibi tipleri ayarladık.
Fakat kayıt yaptığımda unicode karakterler ? olarak kaydoluyor. FreeTDS den utf-8 encode kapattığımda ise veri utf-8 encode olarak kaydoluyor yani veri tabanında bozuk gözüküyor.
Yapmak istediğim hem arayüzde hem veri tabanında veriyi düzgün şekilde tutmak.
Sorun neden kaynaklı olabilir teşekkürler..
Not: İnternetten bulduğum kadarıyla n ile başlayan veri tiplerinde kayıt yaparken valuesin başına N koymak gerekiyormuş. örn: insert into users("name") values(N":Çæß∂æ@"); gibi.
MURATSPLAT
Ben bir projemde yapmıştım. Laravel varsayılan ayarları ile çalışan mysql veritabanında sorun yaşamamıştım. Kiril, Arab, Fars, Çin alfabelerini sorunsuz çalışıyordu.
Raw query yazacaksanız o zaman ORM kullanamayacaksınız. Çok büyük verim kaybıdır bu. Veritabanını değiştirmeniz mümkün değil mi ? mysql veya mariadb kullanabilirsiniz. Bu tür sorun yaşayamazsınız. Özellikle projeye yeni başlayorsanız MariaDB öneririm.
MSSql ile deneyimi olan arkadaşlar bir öneri de bulunabilir..