为什么我们在 jdbc url 中使用 useUnicode=true&characterEncoding=UTF-8 即使我们的 table 字符集是 utf-8
Why do we use useUnicode=true&characterEncoding=UTF-8 in jdbc url even if our table character set in utf-8
所以我的 mysql 数据库中的字符集是 utf-8。
另外,如果我不在 jdbc URL 中使用 useUnicode=true&characterEncoding=UTF-8,那么一些字符会变成 ?。
我想知道当我们的数据库中的字符集是 utf-8 时,为什么要在 jdbc URL 中使用 Unicode=true&characterEncoding=UTF-8。
这是我的 table 属性 ->
ENGINE=InnoDB
DEFAULT CHARSET=utf8
TABLE COLLATION=utf8_general_ci
MySQL 具有列字符集(每个 table 和每个数据库都有默认值)。它也有连接字符集,它们不是一回事。您的 SQL 语句是用什么字符集写的?结果以什么字符集返回?这就是您选择连接字符集的原因。细节比我的总结更复杂。读这个。 https://dev.mysql.com/doc/refman/8.0/en/charset-connection.html
服务器对此有默认设置。但最好在您的客户端程序中设置它;如果您迁移到具有错误默认值的生产服务器,您的程序仍然可以工作。
所以我的 mysql 数据库中的字符集是 utf-8。
另外,如果我不在 jdbc URL 中使用 useUnicode=true&characterEncoding=UTF-8,那么一些字符会变成 ?。
我想知道当我们的数据库中的字符集是 utf-8 时,为什么要在 jdbc URL 中使用 Unicode=true&characterEncoding=UTF-8。
这是我的 table 属性 ->
ENGINE=InnoDB
DEFAULT CHARSET=utf8
TABLE COLLATION=utf8_general_ci
MySQL 具有列字符集(每个 table 和每个数据库都有默认值)。它也有连接字符集,它们不是一回事。您的 SQL 语句是用什么字符集写的?结果以什么字符集返回?这就是您选择连接字符集的原因。细节比我的总结更复杂。读这个。 https://dev.mysql.com/doc/refman/8.0/en/charset-connection.html
服务器对此有默认设置。但最好在您的客户端程序中设置它;如果您迁移到具有错误默认值的生产服务器,您的程序仍然可以工作。