我需要得到UTF-8工作在我的Java web应用程序(servlet + JSP,没有框架使用),以支持äöå等常规芬兰文本和西里尔字母ЦжФ为特殊情况。

我的设置如下:

开发环境:Windows XP 生产环境:Debian

使用数据库:MySQL 5.x

用户主要使用Firefox2,也有Opera 9。使用的浏览器类型为:FF3、IE7、谷歌Chrome。

如何做到这一点?


当前回答

有时候你可以通过MySQL管理员向导来解决问题。在

启动变量>高级>

并设置Def. char set:utf8

可能这个配置需要重启MySQL。

其他回答

有时候你可以通过MySQL管理员向导来解决问题。在

启动变量>高级>

并设置Def. char set:utf8

可能这个配置需要重启MySQL。

我认为你在自己的回答中总结得很好。

在从端到端的UTF-8-ing(?)过程中,你可能还想确保java本身使用的是UTF-8。使用-Dfile。encoding=utf-8作为JVM的参数(可以在catalina.bat中配置)。

我还想从这里添加这部分解决了我的utf问题:

runtime.encoding=<encoding>

非常详细的回答。只是想再添加一件事,这肯定会帮助其他人看到url上的UTF-8编码。

按照下面的步骤在firefox中的url上启用UTF-8编码。

在地址栏输入“about:config”。 使用过滤器输入类型搜索“network.standard-url”。encode-query-utf8”属性。 上述属性默认为false,将其设置为TRUE。 重新启动浏览器。

在IE6/7/8和chrome浏览器中,url默认使用UTF-8编码。

如果你已经指定了连接池(mysql-ds.xml),在你的Java代码中,你可以像下面这样打开连接:

DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Connection conn = DriverManager.getConnection(
    "jdbc:mysql://192.168.1.12:3308/mydb?characterEncoding=greek",
    "Myuser", "mypass");