PHP: PDO MySQL Türkçe Karakter Sorunu

PHP: PDO MySQL Türkçe Karakter Sorunu

PDO Türkçe karakter hatası alıyorsanız ve çözümü konusunda bir çok yöntem denemenize rağmen sonuç bulamadıysanız bir de bu yöntemleri denemenizi tavsiye ederiz...

Veritabanı Karakter Kodlamanız Düzgün Mü?

ALTER DATABASE `db` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

Bu kod yapısıyla veritabanı karakterler kodlamanızı güncelleyebilirsiniz. Manuel olarak phpmyadmin üzerinden işlemler bölümünde karşılaştırma alanından da tek tek tüm tablolarınıza bunu uygulayabilirsiniz.

HTML yapınız düzgün mü?

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

Veri aldığınız veya gönderdiğiniz sayfanın HTML kodlamasında bir sıkıntı olabilir, yukarıda bulunan kodları <head> ve </head> etiketleri arasına yazmanız durumunda bu sorunu düzeltebilirsiniz.

Veritabanı bağlantınız düzgün mü?

$db = new PDO('mysql:host=localhost;dbname=db;charset=utf8', 'root', 'root', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$db->exec("SET NAMES 'utf8'; SET CHARSET 'utf8'");

Veritabanınıza bağlanırken charset ve set names belirttiniz mi? Eğer belirtmediyseniz bunu da denemeniz tavsiye edilir.

Büyük ihtimalle bu 3 yöntem ile sorununuzu çözüme kavuşturmuş olmanız gerekir. Bunları denediğiniz halde hala sonuç alamadıysanız yorum bölümünden takıldığınız yeri paylaşırsanız çözümü birlikte bulalım.

merih

wm.do