【发布时间】:2016-09-02 22:50:07
【问题描述】:
我想从俄语翻译日期,然后更改其格式。当我使用str_replace('Сентября', 'September', $date); 时,它不起作用,因为稍后的日期函数通过抛出包含\xD1\x81\xD0\xB5\xD0\xBD\xD1\x82\xD1\x8F\xD0\xB1\xD1\x80\xD1\x8F 的错误提示
字符串不是 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)) #
【问题讨论】:
标签: php encoding utf-8 str-replace multibyte