Turning gears are the logo of co-scripts

güzel güzel uygulama yazarken bir anda MySQL "Ş" harfinde başlıktaki hatayı verdi (Incorrect string value). Arkasından karakterin utf8 encode edilmiş hali. Sayfaya post edilen veriyi kontrol ettiğimde normal gözükmesine rağmen INSERT cümlesinde hata bir türlü gitmiyordu.

Aramalarım sonucunda tablo motorunun (Table Engine) MyISAM ve InnoDB arasında bazı farklar olduğunu ayrıca Default collation ve Convert to Charset değerlerinin de doğru olmadığını gördüm. Nedense Latin_1 general ci kullanılıyormuş :/

Default Collation: utf-8 turkish ci

Convert to Charset: utf-8

yaptığımda tüm metin script dosyalarımda utf8 olduğundan  sorun misler gibi çözüldü.

MyIsam ve InnoDB arasındaki farklara şuradan  ve şuradan bakabilirsiniz, sorunu 2007'den bu yana yaşayanların yazdıkları da şurada var. En temel fark veri işlenmesi sıradında InnoDB2nin satır kilitlemesi, MyISAM'ın ise tablo kilitlemesi gibi görünüyor. Veri sunuş hızı MyISAM'da bir nebze önde. Ayrıca yedeklenmeleri sırasında da MyISAM üstünlüğü var gibi. Diğer motorlarla ilgili bilgi aramadım ama genellikle MyISAM övülüyor. Ancak sitedeki ankette InnoDB öndeydi ;)

Ben MyISAM kullanıyorum.

co-scripts tag image incorrect-string-valuemysql-utf8-kayit-sorunumyisam-vs-innodbutf8trukce-karakter-problemi
ID:229 | Okunma:3252

İlişkili Olabilecek Konular
MSSQL ve ASP İkilisinde Türkçe Karakter Sorunu ve ASPUpload BileşeniMySQL ve PHP ile Türkçe Karakter Sorunu