Java 某些字符正在转换为()

Java 某些字符正在转换为(),java,Java,我有下面一行java代码 String description = new String(somestring.getBytes("ISO_8859_1"),"UTF-8"); 现在它被存储在oracle列中作为 somestring1-->(),作为雇主,吸引最有才华的人来这里工作 ()中的某些String2-->高级领导已分配了足够的劳动力 所以,在这里我无法理解什么char被()替换 这里有人能帮忙吗,哪个字符被转换成()并存储在数据库中 谢谢, -债券 我有下面一行java代码 嗯,

我有下面一行java代码

 String description = new String(somestring.getBytes("ISO_8859_1"),"UTF-8");
现在它被存储在oracle列中作为

somestring1-->(),作为雇主,吸引最有才华的人来这里工作

()中的某些String2-->高级领导已分配了足够的劳动力

所以,在这里我无法理解什么char被()替换

这里有人能帮忙吗,哪个字符被转换成()并存储在数据库中

谢谢, -债券

我有下面一行java代码


嗯,你不应该。这一行代码从根本上是错误的,不应该存在。这表明您在编码方面做了一些非常错误的事情。删除该行并修复任何使您认为需要该行的内容,在阅读后,您的代码将被破坏,并且会经常损坏文本

 String description = new String(somestring.getBytes("ISO_8859_1"),"UTF-8");

这指示Java获取UTF-16 unicode字符序列,并尝试将它们表示为8859-1字节。8859-1中未包含的每个字符都将转换为“?”。然后,您要求Java假装这些字节是UTF-8,然后(返回)转换为UTF-16。这将损坏另一条字符带,因为8859-1与UTF-8不同。当它到达Oracle时,它已经是一辆火车失事了。

Java永远不会将任何字符转换为一对参数。