CakePHP'ye kullanarak UTF-8 MySQL Tablo Windows 1252 Veri

0 Cevap php

SO bu soruya sürümlerini bir sürü görmek, bu yüzden burada olup bitenler hakkında açık olmaya çalışacağım.

Biz MySQL 5.1 veritabanına bağlı bir Kek 1.2.5 uygulaması var. Latin-1 vardı ama ben bu gerçekten önemli değil anladığım kadarıyla bütün olarak UTF-8 (veritabanı, tablo ve sütun değiştirildi yazmaya çalışıyorum, ama ben dahil ediyorum özgün veritabanı ve tablo tamlık 'uğruna).

Sorun (MS Word otomatik tire düzeltmek alarak elde) bizim forma bir tire koyar bir Windows kullanıcısı, hexl modu altıgen kullanarak izlendi (veritabanında byte x96 ile biter olduğunu Windows 1252 kodlama (ve diğer ortak kodlamaları oldukça fazla geçersiz) içinde tire için kod noktası Emacs editörü).

Aslında ben bu form girişi ile ilgili bir sorun olduğunu düşündüm, bu yüzden ben bir şey yaptım hiçbiri, Content-Type başlığı değişen meta etiketleri kontrol, form etiketi kabul charset ekleyerek her zamanki yuvarlak yaptı, ama sonra ben denedim veritabanına kaydetmeden önce bir dosyaya ben formdan başlamıştı verileri damping ve doğru tire xe2x80x93 (aynı şekilde izlendi) için UTF-8 kod noktası kaydeder, böylece ben inanıyorum Sorun veritabanına zaman Kek görüşmeleri oluştuğunu.

Ben denedim şeyler:

  • App / config / database.php de bağlantı tanımına 'encoding'=>'utf8' eklendi.
  • Configure::write('App.encoding', 'UTF-8'); / config / core.php app eklendi.
  • mb_internal_encoding('UTF-8'); / config / core.php app eklendi.

Olası cevaplar ek olarak, herhangi bir geçersiz bu süreçte yaptığım varsayımlar, hem de işlem sırasında çeşitli aşamalarında verilerin durumunu görüntüleme yöntemleri konusunda işitme ilgileniyorum.

0 Cevap