【发布时间】:2017-06-14 12:06:35
【问题描述】:
我真的很难用 Java 和 PHP 编码字符串。
我使用 Java 来管理 Wordpress 中的帖子。为此,我在 JavaFX 中创建了一个 GUI,并扩展了 REST-API 以创建 SEO 插入。 Worpdress 数据库使用 utf8_general_ci 编码。
我通过 Post 将数据作为 JSON 编码的字符串发送到 WP-Api。我使用 org.JSON。用于 Java 中的解码/编码。
我试图用 php 解码 json-string,
json_decode($request->get_param('data'), true);
但我收到以下错误:
UTF-8 格式错误,可能编码不正确
所以我尝试用php转换它
$s = iconv("Windows-1252", "UTF-8", $s);
它有效,但像“ä,ö,ü,ß”等字符只是显示为 ü, Ã,...
接下来我尝试用 Java 对其进行编码,如此处所述Converting Java String From/to utf-8
private String convertToUTF8(String s) {
String out = null;
try {
out = new String(s.getBytes("UTF-8"), "ISO-8859-1");
} catch (java.io.UnsupportedEncodingException e) {
return null;
}
return out;
}
但是有了这个并且没有“iconv”它又失败了。
我做错了什么,我该如何解决?
服务器运行php7.0。我将 jdk1.8.0_66 用于 Java。
【问题讨论】:
-
您的
convertToUTF8没有“转换”到它“转换”的 UTF-8 来自 UTF-8 -
@Tom 不,它甚至没有这样做。它将字符串导出为“UTF-8”表示,然后将其导入为“ISO-8859-1”,因此会产生一些垃圾。
标签: java php json utf-8 character-encoding