Unicode destekleyen ve Stratejisi

4 Cevap php

Ben PHP6 özgün umarım çoklu dil desteği çok daha kolay hale getirecek unicode, destek olacağını duydum. Ancak, PHP5 unicode ve çoklu dil (özel string fonksiyonları yani sadece bir demet) için oldukça zayıf desteği vardır.

Ben senin PHP5 uygulamalarda unicode ve çok languaage desteğini etkinleştirmek için stratejiler nelerdir merak ediyorum?

ASP.NET yaptığı gibi PHP5 WebResource dosyası yok çünkü Ayrıca, nasıl çeviriler saklamak?

4 Cevap

Tüm bu gerçekten zor değil, ama soru biraz daha belirgin hale getirmek isteyebilirsiniz.

Bir veritabanına konuşuyor, veritabanı saklar UTF-8 veri ve connection to your database is in UTF-8 (ortak bir tuzak) emin olun. Bağlantı kurarken bu çalıştırmak için emin olun:

mysql_set_charset('utf8');

Kullanıcı girişi için, formları accept-charset özniteliğini ayarlayın.

<form accept-charset="utf-8">

Uygun bir HTTP üstbilgisi ile siteleri Serve:

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

ya da en azından siteniz için uygun meta etiketleri ayarlayın:

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

UTF-8 olarak kodlanmış kaynak kodu dosyalarını tutmak.

UTF-8 her şeyi tutarsanız, genellikle herhangi bir şey hakkında endişelenmenize gerek yoktur. Size app boyunca kodlamaları karıştırma başladığınızda sadece sorunlu oluyor.

Elbette dize manipülasyon hakkında konuşmaya başlıyoruz eğer, biraz daha özen gerekir. Çoğunlukla kendinizi belirttiği gibi, string fonksiyonları mb_ kümesi kullanmak isteyeceksiniz.

Peki PHP uygulama geliştirme için birden çok dil dosyalarını işleme ilgilenir hangi CodeIgniter'ı kullanın. Bu çok güçlü ve kullanımı kolay.

İşte onların Language Class için bir link

Çeviriler için, ya bir çerçeve kullanmak, ya da sadece kendi kütüphanenizi dönebilirsiniz. Siz csv dosyaları çevirilerini depolamak ve () ayrıştırmak PHP'nin fgetcsv kullanabilirsiniz. CSV dosyaları herhangi bir elektronik tablo uygulaması ile düzenlenebilir.

Bir Örneğin, Zend_Translate (Zend Framework parçası) koduna bakabilirsiniz. Bu birlikte takip etmek kolaydır.