java - 在MySQL数据库中存储UTF-8字符

标签 java mysql utf-8

我正在尝试使用 Java 编程语言用波兰语编写的单词来初始化 MySQL 数据库关系。

这是代码行:

db.executeQuery("create table "+schema+".category_"+globalId.split("-")[1]+"( id int not null unique, cName varchar(40) not null, primary key (id)) default character set =utf8 collate= utf8_bin;"

它适用于德语或瑞典语,即该语言的特殊字符按预期存储在数据库中(正确的符号)。但是当你尝试写波兰语单词时,它会显示??????而不是该语言的特殊字符。

当你尝试写中文字母时,也会发生同样的事情(你看到??????)。我将字符集更新为 bgk 或 big5,但这并没有改变任何东西。

有什么问题吗? 干杯

最佳答案

您需要设置数据库的字符集(也许还有排序规则)。 请参阅here用于文档。此链接适用于 mysql 5.0,但我认为其他版本也非常相似。

例如:

ALTER DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]

您为数据库设置的这些值将用作每个create table 语句的默认值。您还可以覆盖各个表的这些值。

更新: 这是一个更好的link 。它列出了mysql 5.5中支持的字符集。我建议您使用utf8字符集。

关于java - 在MySQL数据库中存储UTF-8字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6178596/

相关文章:

mysql - 如何在外连接中编写表的条件?

Python,UnicodeDecodeError 尝试打印包含非 ascii 字符的异常

c - 从文本文件中处理 C 中的 UTF-8 字符

java - 我需要获取一个通用惰性加载器列表,它将实例化其推断类型的实例

mysql - 即使使用 bodyParser,req.body 也会给出空对象 {}

Java Spring 依赖项

mysql - 错误 1214 (HY000) : The used table type doesn't support FULLTEXT indexes

PHP DOMDocument 无法处理 utf-8 字符 (☆)

java - 如何验证 Java Card 上的证书有效性?

java - 如何使用FolderOverlay创建新的叠加层 - OSMDroid