【发布时间】:2013-11-27 03:35:34
【问题描述】:
我在 MySQL 中有一些记录,例如
Váºn hà nh linh hoạt trong má»i Ä‘k giao thông
十六进制为
56 c3 a1 c2 ba c2 ad 6e 20 68 c3 83 c2 a0 6e 68 20 6c 69 6e 68 20 68 6f c3 a1 c2 ba c2 a1 74 20 74 72 6f 6e 67 20 6d c3 a1 c2 bb c2 8d 69 20 c3 84 e2 80 98 6b 20 67 69 61 6f 20 74 68 c3 83 c2 b4 6e 67 20
我不知道 PHP 是如何保存它的,但是从 Java MySQL 连接器中读取它会显示一些奇怪的字符。我可以通过
让它显示原始文本copy the text above --> Notepad++ - Encoding in ASCII --> Paste text
--> Encoding in UTF-8
原文应为:
Vận hành linh hoạt trong mọi đk giao thông
我知道问题是 PHP 保存的文本格式不正确,但是有没有办法在 Java 中正确解码?
【问题讨论】:
-
看到这个answer。
-
这里see this
-
@brettw @XtraCode:是的,我已经尝试过类似:
new String(res.getBytes(),"UTF-8")之类的方法,但没有成功。我找到的最相似的主题是 stackoverflow.com/questions/7861803/… ,但我仍然无法使其在 Python 和 Java 中工作。
标签: java php character-encoding