Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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
Php 搜索带有/不带特殊字符的单词的搜索机制-如何?_Php_Mysql_Cakephp - Fatal编程技术网

Php 搜索带有/不带特殊字符的单词的搜索机制-如何?

Php 搜索带有/不带特殊字符的单词的搜索机制-如何?,php,mysql,cakephp,Php,Mysql,Cakephp,如何创建这样的搜索机制: 当用户键入时:“sól” 搜索两个词:“sol”&“sól” 这两个词都有搜索结果您可以使用“Umlaut不敏感”的mySQL排序规则,例如utf8\u general\u ci 或者 创建一个专门的搜索列,即utf8\u general\u ci 或者在搜索时定义排序规则,这样比较容易,但对性能不太好。 这应该起作用: select * from column where name='sól' COLLATE utf8_general_ci; 但是,在某些情况下,

如何创建这样的搜索机制:

当用户键入时:
“sól”
搜索两个词:
“sol”
&
“sól”


这两个词都有搜索结果

您可以使用“Umlaut不敏感”的mySQL排序规则,例如
utf8\u general\u ci

或者

  • 创建一个专门的搜索列,即
    utf8\u general\u ci
  • 或者在搜索时定义排序规则,这样比较容易,但对性能不太好。 这应该起作用:

    select * from column where name='sól' COLLATE utf8_general_ci;
    
    但是,在某些情况下,这样做可能会降低性能,因为我很确定在指定这样的排序规则时不能使用全文索引


数据来自哪里?你拿着这个在哪里?这是在mySQL数据库上吗?如果是,您希望搜索哪些表的排序规则?@Pekka数据来自mySql数据库。排序规则:UTF-8-ci-polish