Geçenlerde latin1_swedish_ci utf8_general_ci gibi saklanan eski bir MySQL veritabanı dönüştürülür. Ben şimdi UTF-8 belirterek HTTP başlığı, sayfadaki HTML etiketi, ve veritabanındaki verileri doğru utf8_general_ci olarak kodlanmış var.
Hepsi benim test sunucusu üzerinde çalışıyor, bu yüzden canlı sunucuda hazırlama alanına güncelleştirilmiş HTML dosyalarını ve PHP betikleri yükleyin. Sonra sınama veritabanından bir ihracat ile eski evreleme veritabanını değiştirin.
Ve şimdi, unicode kişiler yerine evreleme sitede her kesme işareti vardır.
Aynı veritabanı, aynı kod, ama orada çalışmıyor.
Test sunucu ve hazırlama alanı arasındaki fark, test sunucusu aşağıdaki olmasıdır:
Testi:
- Apache 2.2.15
- PHP 5.3.2
- MySQL 5.1
Sahneleme: (Evet, bu korkunç modası geçmiş, ama benim kontrolüm dışında)
- Apache 1.3.37
- PHP 5.2.3
- MySQL 4.1.15
Ne hazırlama sunucusunda çalışma öyle değil neden olan herhangi bir fikir?