0

我的数据库中的表中有一些来自捷克字母表的不寻常字母,如ěščřžýáíé 忽略我的查询。我认为它可以通过 CHARACTER SET utf8 COLLATE utf8_czech_ci 解决,但看起来我不知道如何使用它。我正在尝试此代码,但可以肯定的是,存在一些问题:

        mysql_query("CREATE TABLE `".$userreg."` CHARACTER SET utf8 COLLATE utf8_czech_ci(
        id INT NOT NULL AUTO_INCREMENT, 
        PRIMARY KEY(id),
        title VARCHAR(30), 
        rating_estimate INT)")
        or die(mysql_error());

我必须在 PHP 代码中创建表,因为它依赖于另一个变量。浏览器显示“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取在 'id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), title VARCHAR(30), ' 附近使用的正确语法第 2 行”。

知道如何解决吗?

4

2 回答 2

0
CHARACTER SET utf8 COLLATE utf8_czech_ci

需要在CREATE结束语')'之后的语句末尾

于 2014-12-08T21:29:27.293 回答
0

您可以使用mysql_set_charset()

mysql_set_charset('utf8');//or utf8_czech_ci

或者:

mysql_query("SET character_set_results=utf8"); 

你也可以ALTER你的桌子:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

但是,建议查看为什么我不应该在 PHP 中使用 mysql_* 函数?

于 2014-12-08T21:38:41.973 回答