【问题标题】:RESTHeart with windows-1251 charset带有 windows-1251 字符集的 RESTHeart
【发布时间】: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


【解决方案1】:

您可以使用-Dfile.encoding property.为执行 RESTHeart 的 JVM 设置字符集

尝试类似:

java -Dfile.encoding=CP1251 -server -jar restheart.jar conf.yml

【讨论】:

  • 谢谢 或者 java -Dfile.encoding=UTF8 -server -jar restheart.jar conf.yml
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 2017-05-17
  • 1970-01-01
相关资源
最近更新 更多