veritabanında veri depolama ve alma

3 Cevap

PHP biz girmek ne ayrıntılar veritabanında saklanan gereken bir form kullanırken ... bu veriler veritabanında herhangi bir kodlama düzeni kullanarak saklanan alır ... i İngilizce depolama gösterileri dışında farklı bir dil kullandığınızda bcoz gibi DB bazı saçma kodlar ... ama ben verileri almak zaman standart İngilizce enetered olduğu gibi .. geliyor ...

3 Cevap

Veritabanında yazı encoding kontrol etmeniz gerekir. Aynı html. Için gerektiği de kamış ile ilgili en php manulal encoding og deconding php strings için de geçerlidir

Ben aslında 'character encoding' Yani 'dil' ile düşünüyorum. Go ahead ve okumak The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!). Lütfen Bu sizi kurtaracak (ve diğerleri gelecekte bir sürü sorun ;).

Temel şey, aksi takdirde gerçekten doğru, okunabilir çıktıyı sağlamak değil, çünkü at every stage of your processing and storage karakterlerin kodlamasını bilmek zorunda olmasıdır.

Kur şu anda çalışıyor daha fazla veya daha az şanslı bir olaydır, ancak kısa sürede farklı bir app veritabanı kullanmak (veya dizeleri ile mevcut uygulamayı fiyatları biçimini değiştirmek) gibi, işler oldukça hızlı yıkmak olabilir.

Bu size apps gerekebilir kodlayan diğer güvenilir bir şekilde çevirebiliriz böylece veritabanındaki tüm karakterler, aynı kodlama (UNICODE versiyonları tercihen biri) ile saklanır emin olmak istiyorum.

Farklı karakter setleri ile çalışan uygulama ve veri katmanları arasında veri hokkabazlık, özellikle zamanlarda biraz zor alabilirsiniz. "PHP MySQL veri UTF" adil bir kaç sonuçlar getirir için hızlı bir google - web üzerinde bulunabilir öğreticiler / Blog yazılarına bol vardır. Ama özetle:

PHP

O MBString iyi olduğu, bir üçüncü bölümü uzantısı kullanmak çok daha iyidir: PHP native Çok iyi Unicode desteği yet yoktur.

MySQL

Eğer tablo / sütun doğru UTF karakter verileri desteklemek için kurulum olduğundan emin olmak gerekir. Bu bir UTF karakter kümesi kullanmak için söz sütunları değiştirerek / yaratma meselesi:

ALTER TABLE theTabel MODIFY formTextField VARCHAR(255) CHARACTER SET utf8

HTML

Son olarak, emin HTML doğru başlıkları ile servis ediliyor yapmak gerekir

Content-type: text/html; charset=utf-8