sách gpt4 ai đã đi

Lỗi unicode MySQL với các khung web Java (khung Ninja và Spark)

In lại 作者:行者123 更新时间:2023-11-30 00:11:49 31 4
mua khóa gpt4 Nike

我首先使用Spark框架和ORMLite处理网页上表单提交的数据,在提交中文字符时看到了unicode问题。我首先想到问题可能是由于ORMLite,因为我的MySQL数据库的字符集已设置为使用utf8_general_ci.

因此我尝试使用Ninja框架使用相同的MySQL数据表提交相同的表单,但是,出现了相同的问题。汉字竟然是“???” (数据库字段中的一串问号)。

在我的玩具程序中,我有一个名为“Book”的模型类,它具有三个实例变量:

Long id;
String author;
String title;

因此,html 表单只有两个输入字段:作者和标题。

我在 BookDAO 类中编写了以下方法,并使用 Hibernate 将数据保存到 MySQL 中:

    @Giao dịch
public boolean postBook(String author, String title)
{
EntityManager entityManager = entityManagerProvider.get();

Book book = new Book(author, title);
entityManager.persist(book);

trả về giá trị đúng;
}

我尝试将mysql的字符集更改为gbk(中文字符编码),但仍然没有成功。我注意到的另一件事是编码错误只发生在我的 Ubuntu 服务器上,而不是发生在我的 Mac 服务器上。这让我思考这两个操作系统的差异导致了我的 MySQL 问题。

1 Câu trả lời

通过执行以下任一操作解决了我的编码问题。两种方法都需要重启mysql

  1. 登录mysql终端:

    >mysql -uroot -p
    mysql>use mydb;
    mysql>alter database mydb character set utf8;

或者执行以下操作来永久更改 MySQL 的字符集:

  1. 编辑 my.cnf:

> sudo vim/etc/mysql/my.cnf

将以下条目添加到 my.cnf

[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci

关于java - Java Web 框架(Ninja 和 Spark 框架)出现 MySQL unicode 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23982939/

31 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com