PHP mb_convert_encoding TÜRKÇE KAREKTER HATASI

Php projelerinde genelde karşılaşılan genel sorunlardan bir tanesi Türkçe karakter hatasıdır. Başka bir siteden veri alırken karakter kodlaması uyuşmazlığından türkçe karakterler yerine soru işareti ( ? ) geldiğini görürüz fakat bu tarz bir sorunu klasik yöntemler ile çözümlenmeyebilir, bunun içinde mevcut bir fonksiyon var Php projelerinizde mb_convert_encoding() fonksiyonunu kullanarak istediğiniz karekter kodlamasından istediğiniz karekter kodlamasına çevirebilirsin. Bu fonksiyonu diğer türkçe karekter problemlerinde de (Veri tabanında türkçe karekter hatasında) kullanabilirsiniz.

Sözdizimi:

mb_convert_encoding ( metin, kodlamaya, kodlamadan)

Paremetreler:

metin : Gereklidir. Karekter dönüşümü yapılacak metin

kodlamaya : Gereklidir. Metnin dönüştürülmekte olduğu kodlama türü.

kodlamadan : İsteğe bağlı. Dönüştürmeden önce karakter kodu adlarıyla belirtilir. Bu, bir dizi veya virgülle ayrılmış numaralandırılmış bir listedir. Belirtilmezse dahili kodlama kullanılacaktır.

"auto" değeri de belirtilebir. Bu takdirde, "ASCII, JIS, UTF-8, EUC-JP, SJIS" algı sırası kullanılır.

Örnek 1:


$str = mb_convert_encoding($_str, "UTF-8", "ISO-8859-9");

Yukarıda ki örnekte Dönüştürülecek olan metni ilk parametreye, hangi karakter setine dönüştüreceğimizi ikinci parametreye, hangi karakter setinden dönüştüreceğimizi ise üçünücü parametreye yazdık.

Gelen verilerin hangi karekter kodlaması olduğunu bilmiyorsak üçünçü paremetreye "auto" değeri belirtebiliriz.

Örnek 2:


$str = mb_convert_encoding($str, "UTF-8", "auto");

Veri tabanından veya başka bir siteden gelen verilerin hangi karekter kodlamasında olduğunu anlayabiliriz. Bunun için mb_detect_encoding() fonksiyonu kullanıyoruz.

Örnek 3:


echo mb_detect_encoding($str); // ÇIKTI : 'UTF-8'

NOT: Genelde sayfalarda karekter kodlaması olarak UTF-8 ve ISO-8859-9 kullanılır Bunları fonksiyonlarda deneyin.

HTML Sayfalarda Türkçe Karakter Hatasına, Çözüm


HTML 5 kodları kullanılarak oluşturulan sayfalarda eğer Türkçe karakter hatası ile karşılaşıyorsanız aşağıdaki kodu <head> </head> taglarınız arasına yerleştirerek sorunu çözebilirsiniz.


<meta charset="UTF-8"/>

HTML 5 öncesi ile kodlanmış sayfalar için oluşan Türkçe karakter hatası için aşağıdaki kodu kullanarak sorunu çözebilirsiniz.


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

PHP Sayfalarda Türkçe Karakter Hatasına, Çözüm


PHP, kodları ile kodlanmış sayfalarda oluşan Türkçe karakter hatası için aşağıdaki header kodu kullanarak sorunu çözebilirsiniz.


header('Content-Type: text/html; charset=UTF-8');

Veritabanından Oluşan Türkçe Karakter Hatasına, Çözüm


Öncelikle Websayfanız yukarıdaki gösterildiği gibi html veya php sayfaya göre türkçe karekter kodlamasını ekleyin. Veritabanızda karekter kodlamasını utf8-general-ci yaparsanız türkçe hatası yaşamazsınız.


Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlacaktır.

9615

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
POPÜLER MAKALE
  • HTML RESME LİNK VERME
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML FORM OLUŞTURMA
  • HTML DİV ve SPAN NEDİR?
  • HTML KAYAN RESİM VE Marguee KULLANIMI
  • HTML ARKAPLANA MÜZİK EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML RESİM EKLEME
  • PHP ceil()-floor()-round() YUVARLAMA FONKSİYONU
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.