【发布时间】:2017-04-20 07:53:03
【问题描述】:
- MongoDB 服务器; windows-1251 字符集中的文本数据。
- RESTHeart 服务器。
- 带有 window-1251 字符集的 PHP 向 RESTHeart 发出请求。
- 文本数据损坏
要“返回”文本,我使用以下代码(从 utf-8 到 1251,然后从 utf-8 到 1251,然后返回 utf-8,如果编码不是 utf-8,则会导致 json 抛出错误):
$body = iconv('CP1251', 'UTF-8', iconv('UTF-8', 'CP1251//IGNORE', iconv('UTF-8', 'CP1251//IGNORE', $body)));
在此 $body 对象之后包含普通文本,但没有一些字符(不是特殊字符,如西里尔字母 'И')。
【问题讨论】:
-
我认为您不能将 rom utf-8 转换为 1251,然后从 utf-8 转换为 1251,然后再转换回 utf-8 而不会丢失一些信息……我会使用所有1251 或全部 UTF-8。
-
我很乐意在任何地方使用 UTF-8,但现在我必须使用我之前完成的工作,并且很难重新制作。
标签: php json mongodb restheart windows-1251