Boj*_*nSM 2 mysql jsf jdbc character-encoding
我在数据库中保存塞尔维亚拉丁字符有问题,但只有当我从我的jsf应用程序保存它时.当我使用SQLyog直接在数据库中插入一些行时,一切都很好.当我尝试插入来自应用程序,而不是人物的东西:?,?并?在数据库中插入问号.
另一方面,当我从数据库中读取该行时,所有内容都正确显示,没有问号.
当我尝试从应用程序而不是字符插入一些东西时:č,ć和đ在数据库中插入问号.
换句话说,MySQL JDBC驱动程序不支持最初提交字符的字符编码.在将字符数据发送到DB时,MySQL JDBC驱动程序默认为平台默认编码,例如ISO 8859-1.您需要通过在JDBC URL中指定useUnicode和characterEncoding参数来告诉它不要这样做.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Run Code Online (Sandbox Code Playgroud)
当您使用Facelets作为视图技术时,在呈现HTML内容和处理提交的参数值时,JSF自身默认为UTF-8.所以问题至少不在那里.
| 归档时间: |
|
| 查看次数: |
2601 次 |
| 最近记录: |