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.


İbrahim Fatih ÇİFTCİ 14/08/2019

Bu kadar bilgisayar bilsek zaten size gerek kalmaz, kendimiz yapardık. Teşekkürler.

Nazar UĞUR 16/12/2020

Php notepad+++ uygulamasıyla yapmış olduğum çalışma türkçe karekter desteklemediği için acilmiyo buda beni zor durumda bırakıyor bana yardım eder misiniz?

yönetici 19/12/2020

Nazar, tam açıklayıcı olmamış normalde Türkçe karekter desteklemesede projen açılması gerekir. notepad++ ayarlarında utf-8 bomsuz kaydetme var dene. Üst menüden Encoding > Convert to UTF-8 (BOM’suz seçenek) seçeneğine tıklayın. Dosyayı kaydedin.
Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlanacaktır. Lütfen Yukarıda ki mesajları okuyun tekrar aynı soruları sormayın.

4015

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
  • MİTHRİL FRAMEWORK
  • Laravel
  • Git
  • React
POPÜLER MAKALE
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML RESME LİNK VERME
  • HTML FORM OLUŞTURMA
  • CSS YATAY MENÜ YAPIMI
  • HTML RESİM EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML DİV ve SPAN NEDİR?
  • HTML ARKAPLANA MÜZİK EKLEME
  • KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.