PHP Japon Strings ayarlanır alıyorum?

3 Cevap php

Ben basit bir echo fonksiyonu ile bir PHP dosyası vardır:

echo 'アクセスは撥ねりません。';

Ben o sayfayı eriştiklerinde ama ben bu olsun:

????????????

Can someone help me? I also have my page encoding set to UTF-8, and I know it, because all of the browsers i used said so. I also do this before the echo function:

mb_internal_encoding('UTF-8');

What does this do? Does it help me? All I need is to be able to echo a static Japanese string.

Teşekkürler!

3 Cevap

Bu yanlış gidebiliriz birkaç yer vardır.

Öncelikle, ile php çıktı kodlama ayarı değilse header()

header('Content-type: text/html; charset=utf-8');

ya da bir meta etiketi ile html:

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

Eğer php.ini ayarı default_charset kontrol etmek gerekir. Şansını bu iso-8859-1 varsayılan getirilir edilir

İkincisi, ayrıca php komut dosyası olarak kaydediyorsunuz içerik kodlamasını kontrol etmek gerekebilir. ASCII veya diğer bazı latin charset kaydederek varsa, bu karakterleri gizleyin olacaktır.

Belki de UTF-16 (karakterlerinizle genişletilmiş set) bulunan Japonca karakterler yazdırıyorsunuz?

Ben sadece hızlı bir test yaptım ve örnek benim için çalışıyor, bu yüzden büyük olasılıkla bunlardan biri:

  • Dosya UTF-8 kaydedilir, ancak Shift-JIS gibi diğer bazı kodlama değil. İyi bir editör bunu eskiden ne kodlayan görelim gerekir
  • Sizin sunucu kötü http başlıkları gönderiyor. Eğer başlıklarını kontrol ve sonuçları yapıştırmak için bazı araç kullanabilir miyim? Yoksa tarayıcıdan aldım sonuçlar?
  • Tarayıcı, uyumsuz bir yazı tipi kullanıyor

Ben, UTF-8 bir dosyayı kaydettiğiniz içine kodunuzu yapıştırılan ve benim sunucu Content-Type ile dosyayı hizmet vermektedir: text / html; charset = utf-8 ve gayet güzel gösteriyor. MB_ işlevi veya başka bir şey kullanmaya gerek yoktu.