Harmanlama ve charset aynı şey değildir. Sizin harmanlama charset eşleşmesi gerekir, böylece charset utf-8, eğer öyleyse harmanlama gerekir. Yanlış harmanlama Toplama olsa verilerinizi garble olmaz - Sadece yanlış çalışması string-comparison/sorting olun.
Yani PHP charset ayarlarını birkaç yer vardır, dedi. Ben mümkünse eğer, boyunca UTF-8 kullanmanızı tavsiye ederim. Belirtilen charset gereken yerler:
utf8_encode
a> / kod çözme fonksiyonları garip adında küçük vardır. Bunlar özellikle latin1 (ISO-8859-1) ve utf-8 arasında dönüştürebilirsiniz. Uygulamanızda şeyi utf-8 ise, onları çok kullanmak zorunda kalmazsınız.
Utf-8 ve PHP ile ilgili en az iki gotchas vardır. İlk PHP'nin yerleşik string fonksiyonları dizeleri tek bayt olmasını bekliyoruz olmasıdır. Operasyonları bir sürü için, bu önemli değil, ama size strlen
and other functions. There is a good run-down of the limitations at this page güvenemez daha gelir. Genellikle, bu büyük bir sorun değil, ama 3-parti kütüphaneleri kullanarak, özellikle zaman, işler bu kadar darbe olabilir farkında olmak gerekir. Bir seçenek utf-8 farkında alternatifleri ile tüm zahmetli fonksiyonlarını değiştirmek için seçeneği vardır mb_string uzantısını kullanmak için aynı zamanda. Hala% 100 kurşun çözüm değil, ama çoğu için çalışacağız.
Bir diğer sorun PHP bazı tesisler hala magic_quotes
a> ayarının açık olmasıdır. Bu sorun, UTF-8 ortogonal olan, ancak bazı kafa çizilmeye yol açabilir. Kendi aklı aşkına, onu kapatın.