Bağlantı karakter seti ayarlamasını sezgilere sonuçları

0 Cevap php

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 }.

0 Cevap