MySQL'e büyük eşit işareti kaydedilmiyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Saltuk
Üye
Mesajlar: 19
Kayıt: 16 Nis 2018 10:45

MySQL'e büyük eşit işareti kaydedilmiyor

Mesaj gönderen Saltuk »

merhaba,
MySQL'e büyük eşit işareti ≥ kaydedildiğinde soru işareti olarak görünüyor.
Acaba hangi charset'i kullanmalıyım?
teşekkürler
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: MySQL'e büyük eşit işareti kaydedilmiyor

Mesaj gönderen ertank »

Merhaba,

Foruma hoş geldiniz. Öncelikle şu konu başlığını okumanızı tavsiye ederim: viewtopic.php?f=2&t=2482

Sorunuza gelince. Bir miktar daha bilgi vermeden yardımcı olmak çok doğru olmayabilir. Aşağıdaki soruları cevaplamanız mümkün mü?
- Hangi Delphi sürümünü kullanıyorsunuz?
- MySQL erişimini hangi bileşenleri kullanarak yapıyorsunuz?
- Delphi ile MySQL veri tabanına kayıt girişini yapan kodunuzu paylaşabilir misiniz?
- MySQL veri tabanının karakter seti nedir? Bunu öğrenmek için aşağıdaki SQL komutunu çalıştırmanız mümkün olabilir. Çalıştırmadan önce <database_adi> ifadesini silip kullandığınız database adını yazmanız gerekli. Çift tırnaklar silinmeyecek.

Kod: Tümünü seç

SELECT default_character_set_name FROM information_schema.SCHEMATA 
WHERE schema_name = "<database_adi>";
- Eğer tablonuzun karakter seti database karakter setinden farklı ise tablonuzun karakter setini de paylaşmanızı isteyeceğim. Aynı şekilde <database_adi> ve <tablo_adi> ifadelerini kullandığınız database ve tablo isimlerine çevirmeniz gerekli.

Kod: Tümünü seç

SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
       information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
  AND T.table_schema = "<database_adi>"
  AND T.table_name = "<tablo_adi>";
- Son olarak, uygulamanız içinden aşağıdaki SQL komutların sonuçlarını bildirmenizi rica ediyorum. Bu komutları uygulamanızın çalıştırması önemli. MySQL Workbench içinden çalıştırmayın lütfen. Her iki komut ayrı ayrı çalıştırılacaktır:

Kod: Tümünü seç

SHOW VARIABLES LIKE 'character_set%';

Kod: Tümünü seç

SHOW VARIABLES LIKE 'collation%';
Saltuk
Üye
Mesajlar: 19
Kayıt: 16 Nis 2018 10:45

Re: MySQL'e büyük eşit işareti kaydedilmiyor

Mesaj gönderen Saltuk »

merhaba Latin 5 Turkish ci kullanıyorum. Delphi 10.2
açıkçası microsoft word bu işaretler için utf 16 kullandığını söylüyor ben utf32'ye kadar denedim hiç biri çözüm olmadı, bu tür az kullanılan matematiksel işaretler soru işaretine dönüşüyor
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: MySQL'e büyük eşit işareti kaydedilmiyor

Mesaj gönderen ertank »

Yukarıdaki mesajımda belittiğim SQL komutlarının sonuçlarını paylaşmamışsınız.

UTF-8 karakter seti kullanan MySQL 5.7.20 ile denediğimde özel işaretler ile ilgili hiçbir sorun yaşamadım. Kaydettiğim ile okuduğum bilgi aynı oldu. Soru işareti görmedim.

Kod: Tümünü seç

SHOW VARIABLES LIKE 'character_set%';
# Variable_name, Value
character_set_client, utf8
character_set_connection, utf8
character_set_database, utf8
character_set_filesystem, binary
character_set_results, utf8
character_set_server, utf8
character_set_system, utf8
character_sets_dir, C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\

Kod: Tümünü seç

SHOW VARIABLES LIKE 'collation%';
# Variable_name, Value
collation_connection, utf8_general_ci
collation_database, utf8_turkish_ci
collation_server, utf8_general_ci

Kod: Tümünü seç

create table test(a text);

insert into test values('≤');
insert into test values('≈');
insert into test values('≠');
insert into test values('≥');
insert into test values('±');
insert into test values('×');
insert into test values('+');
insert into test values('-');
insert into test values('üğişçöı');
insert into test values('ÜĞİŞÇÖI');
insert into test values('abc');

select * from test;
# a
≤
≈
≠
≥
±
×
+
-
üğişçöı
ÜĞİŞÇÖI
abc
Cevapla