Php + Mysql İle Kiril Alfabesi
-
Mysql de pdo ile Kiril alfabesi (Rusça) içerik tutmak için hangi karakter setini kullanmak lazım ? Google de araştırdım UTF8 mb4 vs birçok farklı cevap var. Denedim fakat karakterlerde hata alıyorum.
Slug oluştururken de aynı sorunla karşılaştım. Kelimeler latin alfabesine döndü ;(
Daha önce tecrübesi veya bilgisi olan varsa , bi el atarsa sevinirim. Özellikle slug için bir yol bulamadınm
-
http://www.choibles.com/how-to-display-russian-and-other-languages-with-php-mysql/
Şunu kontrol edebilirsiniz,
-
PDO için connection string içerisinde charset tanımlaması yapılıyor bilgin vardır sanıyorum.
-
Abi işin iki tarafı var. En azından oracle tarafında böyle çözmüştük. Sadece veritabanının charsetini değiştirmek yetmiyor. Application tarafında da chartseti düzeltmen gerekiyor. PDO ile işler nasıl oluyor bilmiyorum ancak connection string'de charset tanımlayarak yada PDO'da modelinde bir tanımlama yaparak konuyu çözebilirsin. Ayrıca test için application haricinde başka database yönetim aracı ile test yapıp insert i düzgün yapıp yapmadığına bak.
-
Sorunu çözdüm. Sayfa başına aşağıdaki header kodlarını yapıştırdım.
header('Content-Type: text/html; charset=utf-8'); header('Content-Transfer-Encoding: 8bit');
Veritabanını utf8mbr4_unicode_ci olarak değiştirdim.
Url yapılarını da aşağıdaki şekilde süzgeçten geçirdim.
$cyr = array( 'ж', 'ч', 'щ', 'ш', 'ю', 'а', 'б', 'в', 'г', 'д', 'е', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ъ', 'ь', 'я', 'Ж', 'Ч', 'Щ', 'Ш', 'Ю', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ъ', 'Ь', 'Я'); $lat = array( 'zh', 'ch', 'sht', 'sh', 'yu', 'a', 'b', 'v', 'g', 'd', 'e', 'z', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'c', 'y', 'x', 'q', 'Zh', 'Ch', 'Sht', 'Sh', 'Yu', 'A', 'B', 'V', 'G', 'D', 'E', 'Z', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'H', 'c', 'Y', 'X', 'Q'); return str_replace($cyr,$lat,$text);
İLgilenip cevap yazan arkadaşlara, ayrı ayrı teşekkür ederim.