我想将阿拉伯语信息插入数据库,但总是得到这样的字符:ابو نص。我在我的页面中使用 UTF-8 编码,并将我的数据库设置为 utf8_general_ci。
我阅读了许多与此问题类似的问题,但我没有找到适合我的案例的解决方案。
这是一个解决方案,但使用 php,我不知道如何在 java 中做同样的事情。
插入代码 (通过 JdbcTemplate)
final String move_insert = "insert into r_movement (PPR,cd_fonc,nom_etabl,ville,delegation,date_debut,date_fin,nbjour,nbmois,nbannees,cina,cinn) "
+ "values (?,?,?,?,?,?,?,?,?,?,?,?)";
getJdbcTemplate()
.update(move_insert, new Object[] {move.getPpr(),move.getFonction(),move.getNom_etabl(),move.getVille(),move.getDelegation(),move.getDate_debut(),move.getDate_fin(),c.getNbjours(),c.getNbmois(),c.getNbyears(),move.getCina(),move.getCinn()});
这是我的桌子:
CREATE TABLE `r_movement` (
`id_move` int(11) NOT NULL AUTO_INCREMENT,
`PPR` int(11) NOT NULL,
`cd_fonc` varchar(255) CHARACTER SET utf8 NOT NULL,
`nom_etabl` varchar(255) CHARACTER SET utf8 NOT NULL,
`ville` varchar(255) CHARACTER SET utf8 NOT NULL,
`delegation` varchar(255) CHARACTER SET utf8 NOT NULL,
`date_debut` date NOT NULL,
`date_fin` date NOT NULL,
`nbjour` int(255) NOT NULL,
`nbmois` int(255) NOT NULL,
`nbannees` int(255) NOT NULL,
`CINA` varchar(255) CHARACTER SET utf8 NOT NULL,
`CINN` varchar(255) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id_move`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8