Neredeyse düzgün "UTF-8 farkında olmak" benim web uygulaması elden görevini tamamlamış. Ben utf8
ile mysqli_set_charset
ayarlandığında bağlantı karakter ayarlarsanız, sonuç çıkış sayfanın karakter kodlaması olmuştu sanki gerçekten görünür (yanlış görünür olmasıdır, ancak, bulduk I do not bağlantı karakter seti, eğer doğru olarak görünür, oysa) misidentified.
Örneğin, benim veritabanındaki bir tabloda depolanan bir dize - I do not bağlantı karakter kümesi ise Página principal
gibi düzgün yankılandı - sütunun karakter kümesi utf8
olduğunu ayarlayın. I do bağlantı karakter seti ise, Página principal
olarak görünür.
Detay: I <head>
bölümünde aşağıdaki meta etiketi vardır bu davranışını test etmek için kullanıyorum PHP betikleri:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Ben ev sahibi yeni bağlantılar için varsayılan karakter kümesi latin1
olduğunu tespit ettik. Ben bağlıyorum veritabanı varsayılan karakter kümesi utf8
vardır. Burada veritabanı bağlantı oluşturmak için kullanılan kod:
$cxn = @mysqli_connect('localhost', $db_user, $db_password, $db_database) or die('Failed to connect to the database.');
mysqli_set_charset($cxn, 'utf8');
mysqli_query($cxn, 'SET SESSION sql_mode = \'TRADITIONAL\'');
Ayrıca: bazı ekstra adli delil olarak hizmet etmelidir durumda, ben Firefox'ta sayfayı görüntülemek ve el ISO-8859-1
için karakter kodlamasını değiştirmek durumunda, yukarıda belirtilen string [(1)] {olarak görünür bulduk }.