Java 显示时字符设置已更改-意大利和波兰的字符集问题
我们遇到了一个字符集问题,但尚未解决。我们在波兰的一个数据中心有一台服务器,意大利的一些人正在使用它。意大利正在将数据以平面文件的形式传送到波兰,该文件由Java程序读取并插入MS SQL server数据库。然后,使用IBM IHS web服务器在IBM WebSphere服务器前面显示数据。批处理、数据库、web和应用服务器都是波兰的Windows设备 我们得到了一些字符替换的例子。具体地说,带有优雅的字母A在网络上显示为带有锐角的字母R。我们可以看到CP1252西欧字符集中的a和CP1250东欧字符集中的ŕ占据相同的位置,因此我们认为这是一个字符集问题 数据库中的字段都是nvarchar。我们尝试了各种字段排序设置,但均无效。我们尝试在WebSphereAppServerJVM上设置字符集,但也没有帮助。波兰服务器将托管欧洲多个国家的站点,因此在Windows中更改默认语言和字符集并不是一个好的选择Java 显示时字符设置已更改-意大利和波兰的字符集问题,java,encoding,character-encoding,ftp,Java,Encoding,Character Encoding,Ftp,我们遇到了一个字符集问题,但尚未解决。我们在波兰的一个数据中心有一台服务器,意大利的一些人正在使用它。意大利正在将数据以平面文件的形式传送到波兰,该文件由Java程序读取并插入MS SQL server数据库。然后,使用IBM IHS web服务器在IBM WebSphere服务器前面显示数据。批处理、数据库、web和应用服务器都是波兰的Windows设备 我们得到了一些字符替换的例子。具体地说,带有优雅的字母A在网络上显示为带有锐角的字母R。我们可以看到CP1252西欧字符集中的a和CP125
任何线索都将不胜感激 数据只是在前端被弄乱了,还是在数据库中也被修改了?尝试划分问题以确定数据在哪一点发生更改是很有趣的
您可以看到关于JVM字符集的讨论。字符在显示时似乎被弄乱了。我可以访问数据库,并编写了一个简单的java main来读取和显示字符。如果我在JVM上设置:-Dclient.encoding.override=Cp1252-Dfile.encoding=Cp1252,并将控制台输出设置为默认的Cp1250,则可以获得正确的字符。但是如果我将控制台输出更改为UTF-8,那么输出是错误的。这些东西显示在一个使用UTF-8编码的网页上,所以这可能就是它显示错误的原因。我无法更改网页编码,因此挑战在于转换数据。