我是java的新手,我正在尝试做一个简单的项目来熟悉它。
所以,我正在开发一个动态的Web应用程序,我使用tomcat作为服务器,MySQL使用hibernate提供程序。
我希望能够在我的表格中编写波斯语或阿拉伯语字母。但不幸的是我不能。
我已经为我的数据库表编写了这个查询:
DROP DATABASE IF EXISTS myDb;
CREATE DATABASE myDb CHARSET = utf8 COLLATE = utf8_general_ci;
USE myDb;
drop table if exists user;
drop table if exists resume;
create table resume(
resumeId INTEGER NOT NULL AUTO_INCREMENT,
resumeDescription NVARCHAR(255),
PRIMARY KEY (resumeId)
) charset = utf8;
create table user(
userId INTEGER NOT NULL AUTO_INCREMENT,
username NVARCHAR(40) NOT NULL,
password varchar(20) NOT NULL,
email varchar(50) NOT NULL,
resumeId INTEGER UNIQUE,
PRIMARY KEY (userId),
FOREIGN KEY (resumeId) REFERENCES resume(resumeId)
) charset = utf8;
我试图插入波斯语字母。我已经创建了一个表单并为其创建了一个servlet来处理请求。我从请求中获取了参数并对其进行了测试。那一刻他们没事,他们得到了正确的表现。但当我将它们插入数据库时,我面对这个:
(问号是波斯语字母)
我不知道该怎么做,问题是什么。 我在互联网上搜索过这个问题并测试了不同的方法,但没有一个在我的情况下工作。
任何人都可以帮我在mySql数据库中正确编写波斯语字母吗?
顺便说一下我的连接网址是这样的:
jdbc:mysql://localhost:3306/myDb?zeroDateTimeBehavior=convertToNull
答案 0 :(得分:0)
尝试使用以下连接网址:
jdbc:mysql://localhost:3306/myDb?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8
这会强制驱动程序使用UTF-8。