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

时间:2011-05-30 16:22:07

标签: 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,但这并未改变任何内容。

有什么问题? 干杯

1 个答案:

答案 0 :(得分:2)

您需要设置数据库的字符集(也可能是排序规则)。 有关文档,请参阅here。这个链接适用于mysql 5.0,但我认为它在其他版本中也非常相似。

例如:

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

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

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