java - Glassfish 和 Mysql 不能很好地存储西里尔字母

标签 java mysql jsf character-encoding glassfish

我正在使用 Glassfish 4.0、JSF 2.2.5、MySQL 5.5 和 J Conn 5.1.29。当我在表格中输入一些西里尔字母时,它们在数据库中保存为“ÑдÑдÑÑдє。我还注意到,如果表单中的验证失败,则表单中现有的西里尔字母将被修改为“ÑдÑдÑÑдє。

如果我通过 MySQL Workbench 保存它们,它就可以正常工作,并且它们可以在网页上正常显示。

JSF 页面设置为 UFT-8。

MySQL:

init_connect='SET collation_connection = utf8_unicode_ci' 
init_connect='SET NAMES utf8' 
character-set-server=utf8 
collation-server=utf8_unicode_ci 
skip-character-set-client-handshake

最佳答案

当我将以下内容添加到 glassfish-web.xml

时问题就解决了
<parameter-encoding default-charset=”UTF-8″/>

关于java - Glassfish 和 Mysql 不能很好地存储西里尔字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22591958/

相关文章:

php - DELETE FROM table WHERE ID ='$id' — 变量拒绝保留

jsf - 后端处理的进度条主要内容

jsf - 复合组件和ID

java - 我应该使用 URL 重写来防止 XSS

java - 如何转置List<List>?

php - 更新正在运行的查询但不更新表 php

mysql - 如何在一个数据库请求中计算不同的 mysql 行?

java - 类型中的方法不适用于参数 (int)

java - AWT(扩展)修饰符何时保证有效?

java - Java Web 框架真的值得这么麻烦吗?