2009-10-30 65 views
1

我正在写一个小程序,它应该在JLabel上同时显示英文和日文(unicode)字符。当我在我的系统上运行小程序时,日文字符显示正常,但是当我从网页运行时,我得到的是mojibake。该页面可以显示日文字符,如果它们被硬编码到HTML中,但不在小程序中。我很确定我以前见过这种事情。有什么我可以在Java代码中解决这个问题吗?Java小应用程序中的Unicode /日文字符

+0

来自哪里的文字?小程序在哪里读取它显示的文本?它是一个参数吗?这是请求的结果吗? – 2009-10-30 14:13:38

回答

0

嗯,我不确定是什么导致了这个问题,但我设置了所有东西来读入和显示在UTF-8,它现在似乎工作。

1

我的第一个猜测是,servlet容器不会为您的webapp资源发回正确的字符集。查看HTTP嗅探器中的响应以查看包含哪些字符集 - 如果响应表明charset是例如CP-1252,则日文字符将无法正确解码。

可能能够通过明确地设置一个Content-Type头部和正确的字符集来解决这个问题;但我认为修正servlet容器的配置以返回相关资源的正确字符集更合适。