Mysql Select with LIKE子句不能正常工作

Dar*_*ric 10 mysql select

我的数据存储在单列中,有英文和中文.

数据由分隔符分隔,例如中文

<!--:zh-->??<!--:-->
Run Code Online (Sandbox Code Playgroud)

对于英语

<!--:en-->English Characters<!--:-->
Run Code Online (Sandbox Code Playgroud)

我会根据用户选择的语言显示内容.

我做了这样的查询

SELECT * FROM table WHERE content LIKE '<!--:zh-->%<!--:-->' 
Run Code Online (Sandbox Code Playgroud)

上面的查询有效,但返回空结果集.

Collationcontentutf8_general_ci

我也尝试过使用convert下面的功能

SELECT * FROM table WHERE CONVERT(content USING utf8) 
                           LIKE CONVERT('<!--:zh-->%<!--:-->' USING utf8)
Run Code Online (Sandbox Code Playgroud)

但这也行不通.

我也试过运行查询,SET NAMES UTF8但它仍然无法正常工作.

PhpMyAdmin如果它确实重要,我正在运行查询.


qTranslate没有更改WordPress使用的数据库.翻译数据存储在原始字段中.因此,每个字段都包含该特殊字段的所有翻译,并且数据是这样的

<!--:en-->English Characters<!--:--><!--:zh-->??<!--:-->
Run Code Online (Sandbox Code Playgroud)

http://wpml.org/documentation/related-projects/qtranslate-importer/

Ant*_*ton 2

假设您使用 MySQL,您可以在 LIKE 中使用通配符:

\n\n
    \n
  • % 匹配任意数量的字符,包括零个字符。
  • \n
  • _ 恰好匹配一个字符
  • \n
\n\n

content以下是在表的列中搜索包含字符 \xe6\x97\xa5 的值的示例:

\n\n
SELECT * FROM table WHERE `content` LIKE '%\xe6\x97\xa5%'\n
Run Code Online (Sandbox Code Playgroud)\n