微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Linux中的UTF-8问题

String departmentName = request.getParameter("dept_name"); departmentName = new String(departmentName.getBytes(Charset.forName("UTF8")),"UTF8"); System.out.println(departmentName);//O/p: composés

在Windows中,所显示输出是我所期望的,并且也在部门名称匹配标准中获取logging。

但在Linux中,它返回“compos ?? s”,所以我的数据库查询失败。

谁能给我解决scheme?

Eclipse – parseSdkContent失败错误 – 不识别XML文件

$不被识别为内部或外部命令

Java自动调整到Windows 7的字体大小调整

64位版本的Java 1.4.2 for Windows?

Bash命令检查在Linux上是否安装了Oracle或OpenJDK Java版本

如何用Java发现文件的创build时间?

用Java分叉和放弃特权

从Java运行Echo

bluecove能用Linux 64位吗?

Java – String.contains()行为奇怪

也许是因为字符集UTF8不存在。 您必须使用UTF-8 。 看到javadoc 。

首先,使用unicode输出与System.out.println是不好的指标,因为你正在处理控制台编码。 使用OutputStreamWriter打开文件,将编码的解码设置为UTF-8,然后可以说请求参数是否正确编码。

其次,可能存在数据库连接编码问题。 对于MysqL,您需要明确指定连接字符串中的编码方式,而对于其他情况,也可能是在未指定时采用认系统编码。

首先,试图找出你在每个特定地方的编码。

例如,如果您的Linux系统使用UTF-8字符集运行,字符串可能已经具有正确的编码; 那个黑客可能只在Windows上需要。

最后但并非最不重要的,你怎么知道这是不正确的? 这不是你的观众是不正确的? 你的控制台或日志查看器使用什么字符集?

您需要执行一些检查,以确定编码与应用程序当前的预期编码不同。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐