Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 显示时字符设置已更改-意大利和波兰的字符集问题_Java_Encoding_Character Encoding_Ftp - Fatal编程技术网

Java 显示时字符设置已更改-意大利和波兰的字符集问题

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

我们遇到了一个字符集问题,但尚未解决。我们在波兰的一个数据中心有一台服务器,意大利的一些人正在使用它。意大利正在将数据以平面文件的形式传送到波兰,该文件由Java程序读取并插入MS SQL server数据库。然后,使用IBM IHS web服务器在IBM WebSphere服务器前面显示数据。批处理、数据库、web和应用服务器都是波兰的Windows设备

我们得到了一些字符替换的例子。具体地说,带有优雅的字母A在网络上显示为带有锐角的字母R。我们可以看到CP1252西欧字符集中的a和CP1250东欧字符集中的ŕ占据相同的位置,因此我们认为这是一个字符集问题

数据库中的字段都是nvarchar。我们尝试了各种字段排序设置,但均无效。我们尝试在WebSphereAppServerJVM上设置字符集,但也没有帮助。波兰服务器将托管欧洲多个国家的站点,因此在Windows中更改默认语言和字符集并不是一个好的选择


任何线索都将不胜感激

数据只是在前端被弄乱了,还是在数据库中也被修改了?尝试划分问题以确定数据在哪一点发生更改是很有趣的


您可以看到关于JVM字符集的讨论。

字符在显示时似乎被弄乱了。我可以访问数据库,并编写了一个简单的java main来读取和显示字符。如果我在JVM上设置:-Dclient.encoding.override=Cp1252-Dfile.encoding=Cp1252,并将控制台输出设置为默认的Cp1250,则可以获得正确的字符。但是如果我将控制台输出更改为UTF-8,那么输出是错误的。这些东西显示在一个使用UTF-8编码的网页上,所以这可能就是它显示错误的原因。我无法更改网页编码,因此挑战在于转换数据。