€ "gibi â € ™ gibi Asya sembolleri ile MySQL veritabanı içine yerleştirilmesi

5 Cevap php

I cant seem to get these Chinese punctuation marks to work with my database (utf-8) when i do an echo of the query the marks look like this ���

php ben zaten yaptım

$ Text = mysql_real_escape_string (htmlentities ($ metin));

Bunun bir sonucu olarak da doğru ben bunu düzeltmek için ne yapabilirim veritabanına kaydedilmez?

Teşekkürler

5 Cevap

Mysql_query yürütülüyor ('SET İSİMLERİ utf-8'); unicode ile herhangi bir operasyon hile yapacak önce

Aynı baskı sırasında db ve utf8_decode() içine eklerken utf8_encode() fonksiyonunu kullanarak kullanmayı deneyin.

Lütfen dize değeri önce karakteri 'N' ekleyin.

Örn. temp = N'unicode dize 'test_table seçin

Eğer htmlentitiesi kullanmak istiyorsanız yanında, böyle utf-8 kodlama onu ayarlamak zorunda:

htmlentities($string,ENT_COMPAT,"UTF-8");

Veritabanında HTML-kodlanmış verileri koymayın. Bu kullanmanız gerektiğini bu noktada size sayfanın üzerine tükürmek zaman (kadar ham metin olmalıdır htmlspecialchars().

Siz veritabanı ve sayfa hem UTF-8 kullandığınızdan emin olmanız gerekir:

  • Tablolarınızın UTF-8 harmanlama ile oluşturulan sağlamak;
  • mysql_set_charset MySQL ve PHP arasındaki bağlantıyı sağlamak için bağladıktan sonra UTF-8 kullanmak;
  • başlığına veya meta etiketi ile text/html;charset=utf-8 için Content-Type sayfa ayarlayın.

Bu tür varsayılan olarak farklı bir kodlama kullanarak paçayı bayt gibi davranın eğer, ama eğer harf duyarsız karşılaştırmalar çalışmaz, bu yüzden UTF ayrılmamak için en iyi veritabanı ucunda 1-latin ve bağlantı -8.