我目前在oracle中使用了一个数据库,它有NLS_CHARACTERSET WE8ISO8859P1,所以可以说我在varchar2字段中存储值是maž(重音字符),所以在数据库中存储为maå¾。现在,当我尝试使用查询select * select * from field where fieldValue ='maž'时,它返回0行,然后当我尝试再次插入时,它给了我一个约束错误,说明值已经存在。NLS_CHARACTERSET Oracle中的WE8ISO8859P1和UTF8问题
如何克服这种情况。 我通过Java代码做这个
_“在数据库中它被存储为maå¾”_你如何得到这个outpout?难道这不是[mojibake](http://en.wikipedia.org/wiki/Mojibake)的例子吗? – 2014-12-04 14:31:31
你可以试试'ma \ u017E''吗?为了排除Java源代码编码问题等。您可以尝试使用通过ID获取记录字段的SELECT,以及**转储字节/代码点**。作为最后的手段,可能需要一个PreparedStatement来填写该字段。 – 2014-12-04 14:37:46