Yazar |
|
aliozkn
Manisa
Kayıt: 13.04.2006 |
|
Merhaba,
Yaklaşık 24 saattir karakter sorunuyla uğraşıyorum
Durum şöyle:
Sayfada hem rusça hem de türkçe karakterleri göstermem lazım,veritabanından (MySql) hem türkçe hem de rusça karakterler geliyor. Ayrıca sayfada echo yla türkçe karakterler yazdırmam gerekiyor.
Veritabanı bağlantısından sonra
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_unicode_ci'");
olarak verileri utf8 yapıyorum
meta tagından charseti windows-1254 yaptığımda php içinden bastırdığım karakterlerde sorun yok ama veritabanından gelen türkçe ve rusça karakterlerde sorun var.
meta tagını utf-8 olarak ayarladığımda ise sayfa içinden bastırdığım türkçe karakterlerde sorun oluşuyor ve veritabanından gelen türkçe ve rusça karakterler düzeliyor.
Kafayı yemek üzereyim, bir çok kombinasyon denedim ama hepsini bir düzgün gösteremedim.
Tavsiyelerinizi bekliyorum.
русский (rusça gösteriyor mu diye merak ettim)
|
|
Yazar |
|
clairvoyant
Antalya
Kayıt: 05.05.2006 |
|
Bunu denedin mi?
header('Content-type: text/html; charset=utf-8');
Let`s make this world a better place to live !
|
|
Yazar |
|
aliozkn
Manisa
Kayıt: 13.04.2006 |
|
evet denedim yine sayfa içinden bastırdığım karakterlerde sorun oluyor, vt den gelenlerde sorun yok
utf-8 yapınca da tam tesi
|
|
Yazar |
|
halit
Kayıt: 26.02.2006 |
|
bence basit bir sorgu yazıp consoldan dene. consolda sonuçlar düzgün geldikten sonra veritabanından doğru şekilde geliyor demektir. sonrasında browser ayarlarına bakarsın... bir de apachenin configurasyon dosyasında belirli bir dil default olarak seçilmiş olabilir. o zaman sen metaya utf yazmış olsan bile gelen sonuçlar o dilde yazılır utf yazılmaz.
|
|
Yazar |
|
aliozkn
Manisa
Kayıt: 13.04.2006 |
|
halit yazdi | bence basit bir sorgu yazıp consoldan dene. consolda sonuçlar düzgün geldikten sonra veritabanından doğru şekilde geliyor demektir. sonrasında browser ayarlarına bakarsın... bir de apachenin configurasyon dosyasında belirli bir dil default olarak seçilmiş olabilir. o zaman sen metaya utf yazmış olsan bile gelen sonuçlar o dilde yazılır utf yazılmaz. |
php.ini den default u kaldırdım, yani meta lar devrede.
charset utf-8 'e ayarlı iken veritabanından doğru sonuç geliyor (hem rusça hem türkçe) , bu sefer de echo yla yazdırdığım türkçe karakterlerde sorun var (yani aynı sayfada echoyla yazdırdığım türkçe karakterler sorunlu vt den gelen türkçe karakterlerde sorun yok). Bu ikisini kavga ettirmeden aynı sayfada göstermem lazım.
Bu ne yaman çelişki bulamadım, çözemedim .
|
|
Yazar |
|
halit
Kayıt: 26.02.2006 |
|
http://tr2.php.net/manual/en/function.mb-convert-encoding.php
şunu bir deneyebilirmisin. belki işe yarar.
|
|
Yazar |
|
clairvoyant
Antalya
Kayıt: 05.05.2006 |
|
Editör olarak hangi programı kullanıyorsun? Editörün dosyayı diske yazarken kullandığı encoding sisteminin etkisi olabilir belki.
Let`s make this world a better place to live !
|
|
Yazar |
|
aliozkn
Manisa
Kayıt: 13.04.2006 |
|
Herkese çok teşekkürler arkadaşlar bu işi bırakıyorum dermişim
Sorunu
$ad=htmlentities($rs[AD], ENT_COMPAT,"windows-1251");
satır(lar)ıyla çözdüm. Daha kısa çözümlere her zaman açığım.
Herkese iyi geceler.
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | |