UTF-8 Türkçe Karakter Sorunu Çözümü

UTF-8 Türkçe Karakter Sorunu Çözümü

UTF-8 Nedir ?

UTF-8, 8-bitlik bir Unicode dönüşüm biçimidir. (İng: Unicode Transformation Format 'ın kısaltması). Unicode karakterlerini değişken uzunluklu bayt guruplarıyla kodlamakta kullanılır.
Rob Pike ve Ken Thompson tarafından geliştirilmiştir.

(UTF-8 Karakter Seti)

UTF-8 kodlaması Unicode karakterlerini 1-6 byte uzunluğunda diziler olarak kodlar. ASCII kodlaması içinde 0-127 arasında kalan karakterler aynen kendi kodları ile kullanılır, diğerleri ise byte dizileri haline gelir.

UTF-8 Tanımı:

Evrensel kodlama ile aynı sayfada farklı lisanları göstermek mümkün olabilmektedir. Ayrıca özel hazırlanmış klavyeler ile matematiksel ifadeleri yazmak da mümkün. Bütün bu farklı karakterler UTF-8 sayesinde aynı sayfada görüntülenebilmektedir. Eski biçem kodlama ile Türkçe karakterlerin - aslında latin alfabesinde olmayan ya da özel işaretli harflerin de - gösterimi için oldukça karışık olan harf ve rakam dizgileri kullanmak gerekiyordu. Mesela Ş harfini yazmak için Ş küçük ş içinse ş yazmak gibi.

Örneğin; UTF-8 tabanlı bir index.html yada Php vb. sayfa hazırlıyorsanız, aşağıdaki meta kodunu sayfanın <head> ... </head> tagları arasına ekleyerek üste vermiş olduğum ''utf-8 karakter'' karşılıklarına göre düzenleme yapıyorsunuz..

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

XML tabanlı sayfalar için:

<?xml version="1.0" encoding="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ı Çö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.

mb_convert_encoding() fonksiyonu ile Türkçe karakter çözümü

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

UTF-8 Türkçe Karakter Kaşılıkları:

Büyük Harfler İçin UTF-8 Karşılıkları:

Ü / Ãœ
Ş / Å
Ğ / Ä
Ç / Ç
İ / Ä°
Ö / Ö

Küçük Harfler İçin UTF-8 Karşılıkları:

ü / ü
ş / ÅŸ
ğ / ÄŸ
ç / ç
ı / ı
ö / ö

Çeşitli Özel Karakterler İçin UTF-8 Karşılıkları:

€ / &euro;
£ / &pound
« / &laquo;
» / &raquo;
• / &bull;
† / &dagger;
© / &copy;
® / &reg;
° / &deg;
µ / &micro;
· / &middot;
– / &ndash;
— / &mdash

Çok Okunanlar

İLGİNİZİ ÇEKEBİLİR!