Ben cp1250_general_ci için ayarlanmış iç kodlama sahip olan (yani lütfen önermiyoruz bunu düzenleyemezsiniz) dış veritabanından veri alma ediyorum.
Ben UTF-8 olarak bu verileri görüntülemek gerekiyor ama işe alınamıyor. Ben veri getirmek için bu kullanıyorum:
$dsn = 'mysql:dbname=eklient;host=127.0.0.1';
$user = 'root';
$password = 'root';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
$this->view->warning = 'Connection failed: ' . $e->getMessage();
}
$sql = 'SELECT * FROM zam z WHERE z.id_object = :id_object;';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':id_object' => 1));
$data = $sth->fetchObject();
Orijinal dizedir:
poznamka<br /> riadok1 ľščťžýáí
Ben bu gibi yazdırırken:
echo iconv('Windows-1250', 'UTF-8', $data->poznamka);
Ben bu olsun:
poznamka<br /> riadok1 ?š??žýáí
Yani bazı karakterler soru işaretleri ile ikame alıyorsanız. Bu çözmek için nasıl bir fikir?
Evet HTML doğru meta etiketleri var.