Unicode ve PHP - ben yanlış bir şey yapıyorum?

2 Cevap php

Ben Unicode için tam destek var Kohana 3, kullanıyorum.

Benim <head> ilk çocuğu olarak bu var

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Ben takmadan yaşıyorum Unicode karakter Café gibi é olduğunu.

Ancak, ben bir ile üçgen alıyorum? (Karakterini çözemedi gibi).

Bildiğim kadarıyla kendi kod söyleyebilirim, ben metin üzerinde herhangi bir dize manipülasyon yapıyor değilim.

Aslında, ben düz bir görünümün PHP dosyasına vurgu yerleştirilir ve hala çalışmıyor.

Ben bu sayfadan karakteri kopyalanan: http://www.fileformat.info/info/unicode/char/00e9/index.htm

Ben sadece PHP'nin Unicode sınırlamaları inceleyerek başladım, bu yüzden korkunç yanlış bir şey yapıyor olabilir.

Peki, ben bu karakteri görüntülemek musunuz? Ben HTML varlık başvurmak gerekir mi?

Update

Yani bu işleri

Caf<?php echo html_entity_decode('&#233;', ENT_NOQUOTES, 'UTF-8'); ?>

Neden çalışır? Ben komut çıkış aksanlı e kopyalamak ve benim belgeye eklerseniz, çalışmıyor.

2 Cevap

Http başlıklarını görüntüleyebilirsiniz. Sen bir şey gibi görmek gerekir

Content-Type: text/html; charset=UTF-8

Farklı bir kodlama belirten gerçek bir http başlık varsa tarayıcılar, meta etiketleri çok dikkat yoktur.

update

Whatcha bu olsun?

echo bin2hex('é');
echo chr(0xc3) . chr(0xa9);

Aksi takdirde, ben dosya kodlama sorunu söylemek istiyorum, c3a9é almalısınız.

Ben, seni görmek, geçersiz UTF-8 bayt dizileri için yedek karakteri sanırım. Sizin metin UTF-8 kodlanmış değildir. PHP dosyasının kodlamasını kontrol etmek için editörün ayarlarını kontrol edin.

Eğer kaynaklarının kodlaması konusunda emin değilseniz, burada açıklandığı gibi, (Almanca metin) UTF-8 uyumluluğu zorlayabilir: Force UTF-8.

Sen basic ones dışında varlıkları gerek asla.