0

http://www.sqlfiddle.com/#!2/82f65/1

我试过这个:

create table x(y varchar(100) character set utf8);

insert into x(y) values('爱');

但是汉字没有出现:

select y from x;

输出:

Y
?
4

3 回答 3

2

它在我的本地主机上的 mysql 中运行良好。这可能是由于 mysql 字符集或某些设置,请检查它。如果您必须通过 php 之类的程序运行此查询,那么

在选择查询之前运行查询

"SET NAMES utf8"

它将正确返回结果谢谢

于 2012-04-27T07:26:11.293 回答
2

我是 sqlfiddle.com 的作者。问题是我没有用于 mysql 设置的连接字符串和默认数据库编码来正确处理 UTF8。我现在已经解决了这个问题,但是因为您发布的小提琴仍在使用过时的设置,您必须在我稍微修改过的小提琴版本上看到它在这里工作:

http://www.sqlfiddle.com/#!2/e79e8/1

您的链接最终可能会开始工作,它只需要清除运行内存并重置即可。在没有人打它一段时间后,它应该被收割,然后准备好干净地重建起来。谢谢!

仅供参考,我必须做出的改变才能让它工作在这里找到:http: //www.compoundtheory.com/? action=displayPost&ID=421

从java将它添加到我的连接字符串的相关位: useUnicode=true&characterEncoding=UTF-8

并将其添加到我的创建数据库语句中:

create database my_new_database default CHARACTER SET = utf8 default COLLATE = utf8_general_ci;

于 2012-04-27T07:50:01.307 回答
1

汉字没有显示在小提琴中,但在实际的 mysql 数据库中它工作正常。请检查您的mysql版本

您选择语句的结果

于 2012-04-27T06:49:08.850 回答