İpucu

MySQL'de Türkçe Karakterlerin Veritabanına Soru İşareti (?) Olarak Eklenmesi

MySQL'de Linux sunucularında tüm bağlantı vb.. ayarları UTF-8 yapılsa dahi veritabanına Türkçe karakterler ? ile ekleniyor olabilir. Bu durumun çözülmesi için MySQL'in server ayarlarını değiştirmek gerekir. 
 
SHOW VARIABLES LIKE 'character%';
 
ve 
 
SHOW VARIABLES LIKE 'collation%';
 
Komutlarıyla mysql'de character_set ve collation değişkenlerinin varsayılan değerlerinin ne olduğu kontrol edilebilir. Örneğin MySQL 5.5 versiyonu için aşağıdaki bilgiler gelmektedir 
 
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
 
 
mysql> SHOW VARIABLES LIKE 'collation%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
 
Türkçe karakterlerin ? işareti şeklinde eklenmesini engellemek için /etc içindeki my.conf dosyasındaki [mysqld] bölümün altına iki satır eklemek gerekir (character_set_server ve collation-server ifadeleri farklı mysql versyonlarında değişik olabilir. Yukarıdaki sorguyla kontrol ediniz) :
 
[mysqld]
...
character_set_server=utf8
collation-server = utf8_general_ci
 
my.conf değiştirdikten sonra mysql'i restart etmeniz gerekmektedir. 
 
Bu değişiklikten sonra ? işareti ile yazma problemi çözülecektir. 
zafer.teker , 27.09.2014

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir