Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql记录中的Ö(带双点的O)?_Mysql_Sql - Fatal编程技术网

Mysql记录中的Ö(带双点的O)?

Mysql记录中的Ö(带双点的O)?,mysql,sql,Mysql,Sql,我在一个MySQL表中有一行,其中包含ö。整个词是företag 如何在sql查询中选择该单词 我试过用företag,但没用。该表使用utf8。您可以使用: SELECT * FROM table WHERE field LIKE 'f_retag'; “\”是LIKE语句的单字符通配符 如果您使用的是终端,请确保终端使用的是UTF-8。尝试: echo $LANG 在启动mysql命令时,请尝试强制使用字符集: mysql --default-character-set=utf-8

我在一个MySQL表中有一行,其中包含ö。整个词是företag

如何在sql查询中选择该单词

我试过用företag,但没用。该表使用utf8。

您可以使用:

SELECT * FROM table WHERE field LIKE 'f_retag';
“\”是LIKE语句的单字符通配符

如果您使用的是终端,请确保终端使用的是UTF-8。尝试:

 echo $LANG
在启动mysql命令时,请尝试强制使用字符集:

 mysql --default-character-set=utf-8
否则,请提供有关访问数据库所使用的语言和环境的详细信息。

您可以使用:

SELECT * FROM table WHERE field LIKE 'f_retag';
“\”是LIKE语句的单字符通配符

如果您使用的是终端,请确保终端使用的是UTF-8。尝试:

 echo $LANG
在启动mysql命令时,请尝试强制使用字符集:

 mysql --default-character-set=utf-8
否则,请提供有关访问数据库所使用的语言和环境的更多详细信息。

试试这个

declare @tbl table(name varchar(50))
insert into @tbl select 'företag' union all select 'foretag'

SELECT * FROM @tbl WHERE name = 'företag';

SELECT * FROM @tbl WHERE name like '%ö%';
试试这个

declare @tbl table(name varchar(50))
insert into @tbl select 'företag' union all select 'foretag'

SELECT * FROM @tbl WHERE name = 'företag';

SELECT * FROM @tbl WHERE name like '%ö%';

用Unicode编写重音字符有多种方法。例如,Ä也可以写成\u0308。相关的Unicode文档是,但不容易阅读。

用Unicode编写重音字符的方法不止一种。例如,Ä也可以写成\u0308。相关的Unicode文档是,但不容易阅读。

在运行select之前,您还可以尝试运行以下查询:

SET CHARACTER SET utf8;
刚刚在我的本地MySQL上进行了测试,表是用UTF8字符集创建的:

mysql> select * from xxx where s='företag';
+----------+
| s        |
+----------+
| företag |
+----------+
1 row in set (0.00 sec)

在运行select之前,您还可以尝试运行以下查询:

SET CHARACTER SET utf8;
刚刚在我的本地MySQL上进行了测试,表是用UTF8字符集创建的:

mysql> select * from xxx where s='företag';
+----------+
| s        |
+----------+
| företag |
+----------+
1 row in set (0.00 sec)

试着用类似的语句来记录,作为元音符号的双点被称为元音。一对点就是元音。表格使用utf-8,好的,但是字段本身呢?它正在使用表默认字符集?连接怎么样?如果您试图通过ASCII连接从数据库中检索一个ö,由于ASCII连接的限制,您将无法获得它。您使用的是哪种utf-8编码?他们处理UMLAUT的方式不同。这个问题可能不会在提供的信息如此之少的情况下得到回答。请发布SHOW CREATE TABLE yourtable的结果以及您正在使用的客户端的信息。请尝试类似的语句。对于记录,元音上作为符号的双点称为umlauts。一对点就是umlaut。该表使用utf-8,好的,但是字段本身呢?它正在使用表默认字符集?连接怎么样?如果您试图通过ASCII连接从数据库中检索一个ö,由于ASCII连接的限制,您将无法获得它。您使用的是哪种utf-8编码?他们处理UMLAUT的方式不同。这个问题可能不会在提供的信息如此之少的情况下得到回答。请发布SHOW CREATE TABLE yourtable的结果以及您正在使用的客户端的信息。但是如果我有一个像foretag&företag这样的记录集,使用上面的查询将返回这两个信息。如果用户只对ö感兴趣,则选择。。。LIKE仅适用于命令行上出现问题的情况。如果这没有帮助,请展开问题并告诉我们更多有关您的设置的信息,例如您使用的语言、驱动程序等…这不是答案,在mysql中查询不使用通配符的变音符号没有问题,请注意相关设置。但是如果我有一个像foretag&företag这样的记录集,使用上述查询将返回两者。如果用户只对ö感兴趣,则选择。。。LIKE仅适用于命令行上出现问题的情况。如果这没有帮助,请展开问题并告诉我们更多关于您的设置的信息,例如您使用的语言、驱动程序等……这不是答案,在mysql中查询不使用通配符的变音符号没有问题,请注意相关设置。