问题: Play 中的字符编码!1.2.4 框架变成。
上下文:我们正在尝试使用Play!1.2.4 框架。
我们遵循的步骤:
1) UI 从用户那里获取输入。任何语言文本,所以我们尝试了 Japneese Char。注意:页面设置为 UTF-8 字符编码。
2) 将提交发布到 Play!控制器,控制器只是读取输入并使用 Play 存储它!模型。下面提到的片段,
public static void text_create() throws UnsupportedEncodingException,
ParseException {
System.out.println("params :: text string value :: " + params.get("text"));
String oldString = params.get("text");
// Converting the input string(which is UTF-8 format) and parsing to Windown-1252
String newString = new String(oldString.getBytes(), "WINDOWS-1252");
// 1. passing encoded text to mysql.
// 2. TextCheck table and the column 'text' has encoding and collation format as UTF-8.
// 3. TextCheck > text column mentioned as String in model.
TextCheck a = new TextCheck(newString);
List<Object> text = TextCheck.TextList();
render(a,text);
}
它将 TEXT 值存储为“《æˆ'å�«MTç¹�體版》å�°æ¸¯æ¾³å°ˆå±¬ä¼ºæœ�器上線ï¼�”
问题是值之间有字符�。当我使用其他平台(如 java、ruby 或其他语言)从 mysql 读取这些原始数据时,它会进行转换,但会将这些字符视为垃圾。只是垃圾。
注意:有趣的是,当我从同一个 Play 中阅读它时!框架。即使垃圾字符被正确读取,它看起来也很好。
问题:为什么那些垃圾字符?