我正在尝试使用 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/