PHP / MySQL ile XML ayrıştırılan ve üretilen Flash özel karakterler, düzgün render

3 Cevap php

Muhtemelen size çok bir sorun, bazı gün önce karşılaştık, ama ben Flash (AS2 ve AS3) özel karakterler oluşturma ile ilgili sorunlar yaşıyorum.

Yani benim soru: Ne doğru ve hamlede gibi karakterleri görüntülemek yol ', ", E, A, vb flash textfield bir php xml dosyası oluşturulan içerik SQL veritabanından alınan ile veri toplanır? .

Ben (zaten denedim) alınan veritabanı veri UTF-8 kodlaması ile ilgili bir şey var ama ben sağlam bir çözüm bulmak için henüz inanıyorum.

3 Cevap

Just setting the header to UTF-8 won't work, it's a bit like changing the covers on a book from english to french and expecting the contents to change with it.
What you need to to is to make sure your text is UTF-8 from beginning to end, store it as that in the database, if you can't do that, make sure you encode your output properly. If you get all those steps down it should all work just fine in flash, assuming you've got the proper glyphs embedded unless you're using a system font.

AS2 useSystemCodepage adında bir ayarı vardır, bu seem sorunu çözmek için olabilir, ama büyük olasılıkla farklı kod sayfaları kullanıcılar için, sen sen ne gerçekten emin değilseniz bu kaçınıyorum daha mola edecek yapıyor.

Bazen kendi dilinizde bu ekstra harf olan aslında olur ;)

Ben xml kafasına koymak için yeterli olduğunu düşünüyorum

<?xml version="1.0" encoding="UTF-8"?>

Özel karakterler Unicode kümesinin bir parçası olan (ve onlar, aksi takdirde temelde kendi konum olmalıdır) ise, sadece metni işlemek için kullandığınız yazı gerekli motiflerinin hepsi var emin olmanız gerekir, ve veri tabanı çıkış uygun unicode metin üretir.

Bazı yazı tipleri neccessarily tüm unicode glifleri içermez, ancak bunlardan yalnızca bir alt kümesini (genellikle uluslararası gliflere ve özel karakterleri bırakarak). Yazı tipi (örneğin, bir kelime işlemci üzerinden yazı sınamak) onları olduğundan emin olun. Eğer gömülü fontları kullanıyorsanız Ayrıca, kullanmak için gereken tüm karakterleri gömmek için emin olun.