ロシア語の日付を翻訳してフォーマットを変更したいと考えています。 str_replace('Сентября', 'September', $date);
を使用すると、日付関数として後でエラーがスローされて表示されるため、機能しません。\xD1\x81\xD0\xB5\xD0\xBD\xD1\x82\xD1\x8F\xD0\xB1\xD1\x80\xD1\x8F
PHPのUTF-16文字とstr_replace
文字列はUTF-8ではなくUTF-16です。ホストがサポートしていないmb_convert_encodingを使用せずに文字列をUTF-8に変換するにはどうすればよいですか?私はまた、LEはBEとiconv('UTF-16', 'UTF-8', $date);
を試してみましたが、どちらもエラー出力は、各月のこのような連想配列を構築してみこの
Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (1 сентября 2016 00:00)
DateTime->__construct('1 \xD1\x81\xD0\xB5\xD0\xBD\xD1\x82\xD1\x8F\xD0\xB1\xD1...', Object(DateTimeZone)) #
元はなぜですか? :) – Jord123
str_replaceは混合文字セットでは機能しません。しかし、まだ方法があります。だから私は私の答えを編集し、追加の方法を追加するつもりです。 – DragonSpirit
より正確には、 'str_replace'は文字セットについては気にしません。バイトで動作します。バイトが一致すると、 'str_replace'がマッチします。 (文字を忘れてPHPの文字列をバイトの束として考えると、多くのことがもっと意味をなさないでしょう)。 –