ASP,Mysql Türkçe Karakter Sorunu
-
İlk defa böyle bir sorunla karşılaştım. Sabahtan beri arıyorum ancak bir türlü çözüme ulaşamadım.
MySQL veritabanım var. Tablolar ve alanların karakter setleri latin5 olarak tanımlı.
Veritabanına bağlanmak için kullandığım dosya kodları aşağıdaki gibi.
----------------------
Set baglanti = Server.CreateObject("ADODB.Connection")
baglanti.open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER="&sql_server&"; UID="&sql_user&"; pwd="&sql_pass&"; db="&sql_db&"; stmt=SET NAMES 'latin5';"
Session.Timeout=15
Session.CodePage=1254
Session.LCID=1055
Server.ScriptTimeout="9999"
Response.Charset="iso-8859-9"
-----------------------
Gördüğünüz gibi LCID,Charset ve CodePage değerleri tanımlı. Verileri yazdırdığım sayfada windows1254 karakter seti tanımlı. Localde sorun yok ancak sunucuda Türkçe karakter sorunum var. "ç,ü" gibi karakterlerde sorun yok ancak "ş" harfinde "?" çıkıyor. Sabahtan beri aramama rağmen kaydadeğer birşey bulamadım ve çıldırmak üzereyim :|
Çözümü bilen yardımcı olabilirse sevinirim. Şimdiden teşekkürler :) -
sunucudaki databasein karakter setlerini düzelt
SET NAMES 'latin5';
SET character_set_connection = 'latin5';
SET character_set_client = 'latin5';
SET character_set_results = 'latin5';
myadminden bunları çalıştırmayı dene+ gene olmuyorsa elinde .sql dosyası varsa en tepesine bunları ekle baştan kur dbyi
-
Baglantim = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost;UID=kullanici;pwd=1111;db=databas e;stmt=SET NAMES 'latin5';"
Sonuna stmt=set names 'latin5'; bu kodu ekle bakalım :| olmazsa odbc de bi bokluk var...
-
@pesimistzombie
denedim hocam sonuc aynı :S
sorgu cıktısı bu sekilde;
SET NAMES 'latin5';# MySQL boş bir sonuç kümesi döndürdü (örn. sıfır satır).
SET character_set_connection = 'latin5';# MySQL boş bir sonuç kümesi döndürdü (örn. sıfır satır).
SET character_set_client = 'latin5';# MySQL boş bir sonuç kümesi döndürdü (örn. sıfır satır).
SET character_set_results = 'latin5';# MySQL boş bir sonuç kümesi döndürdü (örn. sıfır satır).@andrei
hocam o satırı tekrar okur musun sana zahmet :D
-
:/ 'latin5' lerin ' tırnaklarını kaldırıp dener misin bi?
-
pesimistzombie bunu yazdı:
-----------------------------
:/ 'latin5' lerin ' tırnaklarını kaldırıp dener misin bi?
-----------------------------
sonuc aynı hocam.
belirtmeyi unutmusum sanırım;
veritabanında karakterler düzgün phpmyadmin ile görüntülerken sorun yok. veriyi cekip yazdırırken sorun cıkıyo :S
-
:| mssql access neyine yetmiyor ben .sql dosyasına verdiklerimi yapıştırıyordum sorun yaşamıyordum aksi halde aynı illetle ben de uğraştıydım. olmuyosa bilemicem artık bu işlerin uzmanı föxliyi buraya davet ediyoruz :d
-
pesimistzombie bunu yazdı:
-----------------------------
:| mssql access neyine yetmiyor ben .sql dosyasına verdiklerimi yapıştırıyordum sorun yaşamıyordum aksi halde aynı illetle ben de uğraştıydım. olmuyosa bilemicem artık bu işlerin uzmanı föxliyi buraya davet ediyoruz :d
-----------------------------hocam onunla da konustum :D
o verileri ascii olarak veritabanına kaydedip daha sonra ascii yi karaktere cevirip yazdırmayı söyledi.
alternatif bulamazsam mecbur o şekilde yapıcam zaten :D
-
:D ya elinde varsa .sql dosyası istersen benimki gibi dene aksi halde myadminde bunlar farklı şekilde çalıştırılıyordu gogıldan SET NAMES 'latin5'; yaz bak sitelere şimdi tabloların istediği kadar latin5 olsun db istediğin kadar latin5 olsun serverda farklı şekilde ayarlıysa gene değiştiremezsin veya db yi kurduktan sonra latin5 olarak değiştirsen gene yediremezsin session lcidi 1033 yapmayı dene aklıma başka bişey gelmiyor fazla vaktim de yok
-
pesimistzombie bunu yazdı:
-----------------------------
:D ya elinde varsa .sql dosyası istersen benimki gibi dene aksi halde myadminde bunlar farklı şekilde çalıştırılıyordu gogıldan SET NAMES 'latin5'; yaz bak sitelere şimdi tabloların istediği kadar latin5 olsun db istediğin kadar latin5 olsun serverda farklı şekilde ayarlıysa gene değiştiremezsin veya db yi kurduktan sonra latin5 olarak değiştirsen gene yediremezsin session lcidi 1033 yapmayı dene aklıma başka bişey gelmiyor fazla vaktim de yok
-----------------------------tamam hocam cevaplar icin tesekkurler tekrar bi deniyim sonucu editler yazarım buraya :)
edit:
kodları sql dosyasının basına ekleyip insert edince karakterlerde bozuk giriyo bu sefer :S
-
evet hocam her şeyi denedim sonuc 0 :|
foxxly'nin dedigi gibi yapıcam.
http://www.chgdz.com/2008/11/asp-mysql-trke-tr-karakter-sorunu.html
