我有以下一行java代码..
String description = new String(somestring.getBytes("ISO_8859_1"),"UTF-8");
现在它已作为
存储在oracle列中somestring1 - > (),作为雇主,吸引最有才华的人来这里工作。
somestring2 - > ()中的高级领导人已经分配了足够的劳动力。
所以,在这里我无法理解什么char被()取代。
任何人都可以在这里帮忙,哪个char被转换为()并存储在db。
谢谢, - 键
答案 0 :(得分:1)
我有以下一行java代码
嗯,你不应该。这行代码根本就是错误的,不应该存在。它表明你在编码方面做了一些非常错误的事情。阅读The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
后,删除该行并修复您认为需要该行的内容答案 1 :(得分:0)
您的代码已损坏,并会经常损坏文字。
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不同。当它到达甲骨文时,它就是火车残骸。