使用unicode字符

时间:2009-01-27 06:22:07

标签: java ms-access unicode

我有unicode的问题。我有一个多语言项目。当我用本地语言输入数据时,在Access中,数据被存储为“à²...ಮààಔ,但我希望在后端看到本地语言的那些字符。

你能建议怎么做吗?

我正在使用Java,Windows vista和ms-access。 我使用属性类设置了数据库编码,并将其传递给getConnection方法。 虽然它没有显示我想要的东西。 使用props.put("charset","utf-8")我正在使用编辑加编辑器。

5 个答案:

答案 0 :(得分:3)

你需要在每一步检查你的数据,只是将它作为一个字符串打印出来,而是通过查看它所包含的unicode字符。请参阅我的debugging unicode页面,该页面是为C#编写的,但可以应用于任何地方。

答案 1 :(得分:1)

您正在使用的(编程)语言绝对至关重要。当然,在不知情的情况下,您仍然可以检查以确保您正在使用该项目的所有计算机都使用相同的编码。如果您使用的是bash shell,则可以键入echo $LANG,它应该可以为您提供某种UTF-8。请记住,许多程序将在shell的语言环境中运行,而是在自己的语言环境中运行(尤其是C)。最好知道shell运行的语言环境,运行的所有程序所在的语言环境,以及该语言环境对文本编码的含义。

但是,如果不知道您的项目使用什么语言,那就是我能做的事情。而且,根据语言的不同,这可能会对我有所帮助,但如果我们能够找出我们在这里使用的语言,那么其他人肯定会接替我。

答案 2 :(得分:1)

您使用的是哪些文字编辑?确保它们支持Unicode(最好是utf8),也将数据库编码设置为utf8,如果你的语言有unicode字符串的特殊符号,请使用它(对于Java,我认为所有字符串都是Unicode,但是例如python 2.5及更低版本需要使用u"....")。

答案 3 :(得分:1)

您的数据库是否正确配置为使用unicode编码?看起来文本被转换或解释为非unicode格式。

答案 4 :(得分:1)

answer of Jon Skeet是个好人。除此之外,我想鼓励你检查从浏览器到数据库的整个行程,因为有时问题是在一个非常尴尬的地方。在我的情况下,问题是由RequestDumperValve in Tomcat中的错误引起的。