Iyi bir UTF-8 web sitesi ele PHP nasıl yapılandırılır

3 Cevap php

Ne uzantıları tavsiye ederim ve iyi her şey için utf-8 kodlaması kullanan bir web sitesi oluşturmak için yapılveırılmalıdır nasıl php gerekmektedir. örneğin ...

  • Page çıktı utf-8
  • formlar utf-8 kodlanmış verileri göndermek
  • dize veri dahili işlem (örneğin bir veritabanına konuşuyor) utf-8 hepsi de vardır.

Bu php gerçekten şu vea ayarlar çokbaytlı karakteri ile iyi başa gelmez gibi görünüyor. Şimdiye kadar mbstring önemli bir uzantısı gibi görünüyor çalıştım.

Bu güçlük değer mi ..?

3 Cevap

Unicode içerikli PHP sözde konular biraz abartılmış olmuştur. Ben 1998 yılından bu yana çok dilli web siteleri yapıyor ve ben bir yerde okumuştum kadar bir sorun olabilir bilmezdim oldum - yıllar ve web sitelerini daha sonra.

Bu benim için sadece iyi çalışır:

Apache yapılandırma (httpd.conf ya. Htaccess olarak)

AddDefaultCharset utf-8

PHP (php.ini 'de)

default_charset = "utf-8"
mbstring.internal_encoding=utf-8
mbstring.http_output=UTF-8
mbstring.encoding_translation=On
mbstring.func_overload=6

MySQL

CREATE your database with an utf8_* collation, let the tables inherit the database collation and start every connection with "SET NAMES utf8"

HTML (HEAD elemanı)

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

php sadece iyi baş edebiliyor!

Sen 'utf-8' için php.ini "default_charset" parametresini ayarlamak gerekir.

Emin olun: -

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

Eğer hizmet, her sayfanın üst kısmında yer alır.

Birkaç sorun alanları vardır:

Veritabanları - varsayılan olarak UTF-8 kullanmak veya ağrı bir dünyaya girmek için yapılandırılmış olduğundan emin olun.

IDE / Editörler - editörleri çok iyi UTF-8 desteği yok. Ben normalde ama asla büyük bir sorun olmuştur gelmez vim'den kullanın.

Belgeler - sadece bir tablo üzerinden thai cahracters okumak için bütün bir öğleden sonra alıyorum php geçirdi. Sonunda başarılı oldu ama yine de ben doğru yaptım emin değilim.

Php.ini, set

mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On

Eğer MB_ işlevlerine her zaman bir kodlama parametresini geçmesi gerekmez ki.