2011-12-20 5 views
2

私はZendの新しい1日のようです。私は最初の問題に遭遇しました。
文字列の音訳については、Googleやドキュメントで何も見つかりません。Zendには何らかの音訳がありますか?

例えばKohanaのは、私が英語探しのものにすべての文字のソート(E、U ...)を有効にする必要がありUTF8::transliterate_to_ascii

を持っています。

Zendではどうやってですか?

まず現在のロケールを取得し、それを格納します:
$orginial_locale = setlocale(LC_CTYPE, 0);

を設定したロケールの後1にあなたが望む:
setlocale(LC_CTYPE, 'en_US.UTF-8');

その後

+0

http://www.http://php.net/manual/en/function.utf8-decode.php – vascowhite

+1

をご覧くださいiconv http://stackoverflow.com/questions/158241/php-replace -umlauts-with-nearest-7-bit-ascii-utf-8-stringと同等の文字列 – akond

+0

iconvが動作するためにはsetlocale()でロケールを変更する必要があります。ゼンドで? – arma

答えて

0

akondによって提供さlinkに基づいて、私は私の問題を解決しました文字列にiconvを適用:
iconv("utf-8", "ascii//TRANSLIT", $input);

そしてfinaly元のロケールに戻って復元:
setlocale(LC_CTYPE, $orginial_locale);

あなたは、あなたのニーズに基づいてのsetlocaleカテゴリを調整する必要がありますは、カテゴリについては、setlocaleマニュアルを参照してください。

+0

これはキリル文字では機能しません。彼らは????に変換されます代わりに。 – Zebooka

+0

未知の文字は疑問符に変換されます。 – ram4nd

関連する問題