I Bu bir oto-Completer parçası olarak kullanılan é, E, C, vb gibi özel karakterler olabilir bazıları bir DB JSON yoluyla (UTF-8) geçirilir anahtar kelimeler, bir dizi var. Örnek:
array('Coffee', 'Cappuccino', 'Café');
Ben DB geliyor gibi dizi olacağını eklemek gerekir:
array('Coffee', 'Cappuccino', 'Café');
Ama JSON gibi kodlar
["coffee", "cappuccino", null];
Ben print_r yoluyla bu yazdırırsanız (), bir UTF-8 kodlu web sayfasında göstermek iyi, ama ben print_r ($ array) kullanarak diziye bakmak istiyorsanız, metin / düz kullanıldığında, café "café ©" olarak aracılığıyla gelir , exit ();.
Ben JSON kodlama önce utf8_encode () kullanarak kodlamak, bu ince yoluyla gelir, ama ne web sayfasında basılı alır "café ©" ve "kafe" dir.
Ayrıca garip, ama json_last_error () tanımsız bir fonksiyonu olarak görülen, ancak json_decode () ve json_encode () iyi çalışması ediliyor.
Herhangi tüm süreç boyunca aynı davranmasına veritabanından UTF-8 kodlanmış veri almak nasıl bir fikir?
Eidt: Burada anahtar kelimeleri alır ve tek bir diziye onları yapar PHP fonksiyonu şudur:
private function get_keywords()
{
global $db, $json;
$output = array();
$db->query("SELECT keywords FROM listings");
while ($r = $db->get_array())
{
$split = explode(",", $r['keywords']);
foreach ($split as $s)
{
$s = trim($s);
if ($s != "" && !in_array($s, $output)) $output[] = strtolower($s);
}
}
$json->echo_json($output);
}
Json :: echo_json yöntemi sadece, kodlar başlığı ayarlar ve (Prototip ile kullanım için) yazdırır
EDIT: DB Bağlantı yöntemi:
function connect()
{
if ($this->set['sql_connect'])
{
$this->connection = @mysql_connect( $this->set['sql_host'], $this->set['sql_user'], $this->set['sql_pass'])
OR $this->debug( "Connection Error", mysql_errno() .": ". mysql_error());
$this->db = @mysql_select_db( $this->set['sql_name'], $this->connection)
OR $this->debug( "Database Error", "Cannot Select Database '". $this->set['sql_name'] ."'");
$this->is_connected = TRUE;
}
return TRUE;
}
More Updates: Simple PHP script I ran:
echo json_encode( array("Café") ); // ["Caf\u00e9"]
echo json_encode( array("Café") ); // null