当我最后执行代码时,字符会正确保存。但是,当在客户端执行具有相同数据的相同代码时,字符在写入数据库时会发生变化,当它们显示在屏幕上时会导致问题。该列的数据类型是 varchar2。
最初,我认为他们最后的数据库字符集与我的不同,所以我向客户端询问了 NLS 参数。事实证明,字符集相同,但语言和领土不同。我认为这可能会导致这个问题,但我不确定。如果是,我该如何要求他们更改?
Paramter Client Me
NLS_CHARACTERSET AL32UTF8 AL32UTF8
NLS_LANGUAGE GERMAN AMERICAN
NLS_TERRITORY AUSTRIA AMERICA
请告诉我是否需要提供更多信息。
编辑:问题不在于数据库字符集,而在于应用程序。在 jvm 参数中添加 -Dfile.encoding=UTF-8 后修复了此问题。