php- MySQL Türkçe karakter sorunu
php- MySQL Türkçe karakter sorunu
Merhaba,
Arkadaş Web server olarak yeni bir Linux kurdu ancak Türkçe karakter sorunu yaşıyoruz.
Windows üzerinde mySQL'in default charsetini Latin5 yapıp veritabanına php ile bağlandığımızda Türkçe karakterleri düzgün görebiliyoruz. Ancak Linux üzerinde my.cnf dosyası üzerinde Latin5 olarak tanımladığımızda php ile veritabanına erişince Türkçe karakterler ? olarak gözüküyor. Default Charseti Latin1 yaparsak düzgün görebiliyoruz ama.
Default charseti Latin5 yapıp, Türkçe karakter sorununu nasıl aşabiliriz?
Sürümler :
----------------------
php 4.3.9
Mysql : 4.1.12
Apache : 2.0.52
Arkadaş Web server olarak yeni bir Linux kurdu ancak Türkçe karakter sorunu yaşıyoruz.
Windows üzerinde mySQL'in default charsetini Latin5 yapıp veritabanına php ile bağlandığımızda Türkçe karakterleri düzgün görebiliyoruz. Ancak Linux üzerinde my.cnf dosyası üzerinde Latin5 olarak tanımladığımızda php ile veritabanına erişince Türkçe karakterler ? olarak gözüküyor. Default Charseti Latin1 yaparsak düzgün görebiliyoruz ama.
Default charseti Latin5 yapıp, Türkçe karakter sorununu nasıl aşabiliriz?
Sürümler :
----------------------
php 4.3.9
Mysql : 4.1.12
Apache : 2.0.52
her yerde çalışırmysql_query("SET NAMES 'latin5'");
mysql_query("SET CHARACTER SET latin5");
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
@mcihad gereksiz tartışmalara girmesen..
@mussimsek hocam. Linux üzerinde bağlandığımızda hatalı görünüyor demişsin. Linux karakterleri ekranda düzgün görüntüleyemiyor olabilir. MySQL aslında latin 5 olarak yayınlıyordur ancak Linux karakterleri ekrana basarken sapıtıyordur.
Bunu denemek için Windows'dan Linux sunucuya browser ile bağlanıp kontrolü yapın.
Linux sürümlerinin çoğunda Türkçe karakter alerjisi bulunmakta ve düzgün görüntülenmemekte. Bunun tabii ki çaresi var yok değil.
Eğer sorun bu ise sunucunun ekrana basmasındaki problem bir şekilde aşılabilir. Yardımcı olmaya çalışırım.
@mussimsek hocam. Linux üzerinde bağlandığımızda hatalı görünüyor demişsin. Linux karakterleri ekranda düzgün görüntüleyemiyor olabilir. MySQL aslında latin 5 olarak yayınlıyordur ancak Linux karakterleri ekrana basarken sapıtıyordur.
Bunu denemek için Windows'dan Linux sunucuya browser ile bağlanıp kontrolü yapın.
Linux sürümlerinin çoğunda Türkçe karakter alerjisi bulunmakta ve düzgün görüntülenmemekte. Bunun tabii ki çaresi var yok değil.
Eğer sorun bu ise sunucunun ekrana basmasındaki problem bir şekilde aşılabilir. Yardımcı olmaya çalışırım.
Cihadım sağol kardeşimmcihad yazdı:Siz herkese söylüyorsunuz bende size söylim
Firebird kullanın
Forumda firebirddiye aratırsanız birsürü sonuç çıkar.



@coderlord, ayar dosyalarını vs. çok inceledik. Codepage ayarları verilmiş hepsini yaptık. Sorun mySQL'den gibi gözüküyor. Direk mySQL'den select çektiğimiz anda karakterler bozuk gözüküyor. Birkaç Linux sürümünde denedik ama sorunu aşamadık.
Teşekkürler.
Yanlış anlamayın ama ne zaman diğer veritabanları hakkında bir soru sorulsa iş firebird kullanmaya varıyor.
Çok ciddiyim mustafa abi firebird kullanın. Ayrıca Adodb diye veritabanı bağlantı kütüphanesi var php ve python için tüm veritabanlarına aynı komutlarla bağlanabilmeniz için geliştirilmiş bir kütüphane
http://adodb.sourceforge.net adresinden indirebilirsiniz
MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP
Hepsinede bağlanabiliyorsunuz
Selametle
Çok ciddiyim mustafa abi firebird kullanın. Ayrıca Adodb diye veritabanı bağlantı kütüphanesi var php ve python için tüm veritabanlarına aynı komutlarla bağlanabilmeniz için geliştirilmiş bir kütüphane
http://adodb.sourceforge.net adresinden indirebilirsiniz
MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP
Hepsinede bağlanabiliyorsunuz
Selametle
Sorun MySQL'in bir bug'ından kaynaklanıyormuş. 4.1.15'te yeni bir parametre ekleyerek bu bug'ı da düzeltmişler. Aşağıdaki parametreleri ekleyince düzeldi.
--character-sets-dir=/usr/share/mysql/charsets -default-character-set=latin5
--default-collation=latin5_turkish_ci --skip-character-set-client-handshake
İlgilenen arkadaşlara teşekkürler.
--character-sets-dir=/usr/share/mysql/charsets -default-character-set=latin5
--default-collation=latin5_turkish_ci --skip-character-set-client-handshake
İlgilenen arkadaşlara teşekkürler.