Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java(SE)将阿拉伯语字符插入mySQL数据库_Java_Mysql - Fatal编程技术网

使用java(SE)将阿拉伯语字符插入mySQL数据库

使用java(SE)将阿拉伯语字符插入mySQL数据库,java,mysql,Java,Mysql,我有三个文本字段(ID、Name、Address),它们反映了DB表中的列。我试图在该表中插入阿拉伯字符,但它显示为“???????” iam使用JDBC连接到数据库 我的数据库信息:MySQL服务器5.5.14社区 服务器字符集:拉丁文1 Db字符集:utf8 客户端字符集:拉丁文1 连接字符集:拉丁文1 我尝试使用以下代码对字符串进行编码: private String ArEncode(String text){ String txt=""; try {

我有三个文本字段(ID、Name、Address),它们反映了DB表中的列。我试图在该表中插入阿拉伯字符,但它显示为“???????”

iam使用JDBC连接到数据库
我的数据库信息:MySQL服务器5.5.14社区
服务器字符集:拉丁文1
Db字符集:utf8
客户端字符集:拉丁文1
连接字符集:拉丁文1

我尝试使用以下代码对字符串进行编码:

private String ArEncode(String text){
    String txt="";

    try {

        Charset cset = Charset.forName("utf8");
        CharsetEncoder encoder = cset.newEncoder();
        CharsetDecoder decoder = cset.newDecoder();
        ByteBuffer buffer = encoder.encode(CharBuffer.wrap(text));
        txt=buffer.asCharBuffer().toString();        

    } catch (Exception ex) {
        Logger.getLogger(UserView.class.getName()).log(Level.SEVERE, null, ex);
    }
    return txt;
}
然后将返回的字符串“txt”插入数据库


注意:当我尝试从netbeans直接将值插入DB时,它被正确插入,并且阿拉伯字符显示正确。

为什么要这样做?mysql JDBC驱动程序的任务是在声明的数据库字符集中正确编码字符串。将数据库中的字符集设置为UTF-8,正确设置JDBC选项,然后简单地插入一个简单的旧字符串。

为什么要这样做?mysql JDBC驱动程序的任务是在声明的数据库字符集中正确编码字符串。将数据库中的字符集设置为UTF-8,正确设置JDBC选项,只需简单插入一个普通的旧字符串。

如果编码逻辑工作正常,则应在
txt
中返回与
text
中完全相同的值,因此不需要它


并且:将连接字符集设置为utf8-JDBC将/应该处理其余部分…

如果编码逻辑工作正常,则应在
txt
中返回与
text
中完全相同的值,因此不需要它


并且:将连接字符集设置为utf8-JDBC将/应该负责其余部分…

我将数据库字符集更改为utf8,如下所示,现在可以正常工作:服务器字符集:utf8 Db字符集:utf8客户端字符集:utf8 Conn。字符集:utf8谢谢。我将数据库字符集更改为utf8 Conn如下所示,它现在可以工作了:服务器字符集:utf8 Db字符集:utf8客户端字符集:utf8 Conn。字符集:utf8谢谢。