v2.5.2
Giriş yap

PHP form ı -> ?

sinandmr
354 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Formdan yolladığım verilerde "ı,ğ,ş" harfleri db'ye "?" olarak kayıt oluyor.
DB uft8 general ci, tablo da aynı şekilde. utf8_turkish_ci' de denedim o da olmadı.
Bir çözüm bulamadım.
Fikir önerisinde bulunabilirseniz çok sevinirim.

Cevap yaz
Cevaplar (3)
orange
954 gün önce

Merhaba,

SHOW VARIABLES LIKE 'character_set%';

çıktısını paylaşabilir misiniz? Eğer sorgu sonucunda utf8, utf8mb4 gelmiyorsa aşağıdaki çözümlerden birini tercih edebilirsiniz.

Server taraflı çözüm:

ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Client taraflı çözüm:

Veritabanına bağlanırken ki connection string'ine charset koyabilirsiniz.

$db = new PDO('mysql:localhost;dbname=vt_adi;charset=utf8', 'user', 'pass');
abdullahx
983 gün önce

Veri tabanı bağlantı kodlarında karakter seti tanımla, formdan gelen verilerin mi bozuk olduğunu yoksa kayıt esnasında mı bozulduğunu kontrol etmek için db ye kayıt etmeden önce bir ekrana çıktı ver vs

zelemi
984 gün önce

şöyle dene istersen kayıt etmeden önce
header('content-type text/html charset=utf-8')

Eğer olmuyorsa dosya türünü değiştirmen lazım convert et utf8 e daha önce ben de dosyadan kaynaklı sorun yaşıyordum.