Modx SimpleSearch:找不到西里尔字母
Modx SimpleSearch: cyrillic not found
问题描述:
Revo 2.4.2 上有一个站点。 Babel 安装了三个上下文(Ru、Ua、En)。安装了 SimpleSearch 1.9.2。问题是无法查看西里尔文字(未找到)。拉丁文搜索是正确的。到处设置UTF-8。
预期结果:
开始搜索俄罗斯符号。
- MODX 版本:2.4.2
- PHP版本:5.4.45
- 数据库版本:5.5.46
- 已安装的 MODX 附加组件:Ace、Archivist、文章、Babel、
BreadCrumb、FAQ Manager、filedownload、getPage、getResources、
GoogleSiteMap、MetaX、modxtalks、phpThumbOf、Quip、SimpleSearch、
taglister、TinyMCE、translit
- 错误日志内容:无。
形式:
[[!SimpleSearchForm? &method=`GET` &landing=`[[++searchlid]]` &tpl=`lisearch` &searchIndex=`query`]]
searchlid - 每个上下文不同。
lisearch:
<form class="search" action="[[~[[+landing:default=`[[*id]]`]]]]" method="[[+method:default=`get`]]">
<input type="text" placeholder="[[%babel.placeholder_[[++cultureKey]]]]" name="[[+searchIndex]]" id="[[+searchIndex]]"/>
<input type="submit" id="search_btn" value=""/>
<input type="hidden" name="id" value="[[+landing:default=[[*id]]]]" />
</form>
mysql> 显示变量 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.03 sec)
mysql> 显示变量 'collation%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
在模板中:
<meta charset="utf-8"/>
<meta http-equiv="content-language" content="ru" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
可能是什么问题?
提前致谢。
您可以查找数据库 table 和字段排序规则吗?他们必须使用所有 UTF8 和 utf_general_ci 或 utf8_unicode_ci.
另一个问题可能是由在富文本字段中编码为 html 实体的 UTF-8 字符引起的。也许找不到实体是因为只进行了原始搜索(我不知道搜索准备搜索有多简单)。
第三个问题可能是由模板中错误的 html 字符集引起的。这会导致发布的搜索字符串中出现错误字符。
令人惊讶的是,从代码段参数中删除问题得到了解决。我不知道它是什么连接。
工作版本:
[[!SimpleSearchForm? &landing=`[[++searchlid]]` &tpl=`lisearch`]]
而且只是
[[!SimpleSearch]]
登陆页面。
问题描述: Revo 2.4.2 上有一个站点。 Babel 安装了三个上下文(Ru、Ua、En)。安装了 SimpleSearch 1.9.2。问题是无法查看西里尔文字(未找到)。拉丁文搜索是正确的。到处设置UTF-8。
预期结果: 开始搜索俄罗斯符号。
- MODX 版本:2.4.2
- PHP版本:5.4.45
- 数据库版本:5.5.46
- 已安装的 MODX 附加组件:Ace、Archivist、文章、Babel、 BreadCrumb、FAQ Manager、filedownload、getPage、getResources、 GoogleSiteMap、MetaX、modxtalks、phpThumbOf、Quip、SimpleSearch、 taglister、TinyMCE、translit
- 错误日志内容:无。
形式:
[[!SimpleSearchForm? &method=`GET` &landing=`[[++searchlid]]` &tpl=`lisearch` &searchIndex=`query`]]
searchlid - 每个上下文不同。
lisearch:
<form class="search" action="[[~[[+landing:default=`[[*id]]`]]]]" method="[[+method:default=`get`]]">
<input type="text" placeholder="[[%babel.placeholder_[[++cultureKey]]]]" name="[[+searchIndex]]" id="[[+searchIndex]]"/>
<input type="submit" id="search_btn" value=""/>
<input type="hidden" name="id" value="[[+landing:default=[[*id]]]]" />
</form>
mysql> 显示变量 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.03 sec)
mysql> 显示变量 'collation%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
在模板中:
<meta charset="utf-8"/>
<meta http-equiv="content-language" content="ru" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
可能是什么问题?
提前致谢。
您可以查找数据库 table 和字段排序规则吗?他们必须使用所有 UTF8 和 utf_general_ci 或 utf8_unicode_ci.
另一个问题可能是由在富文本字段中编码为 html 实体的 UTF-8 字符引起的。也许找不到实体是因为只进行了原始搜索(我不知道搜索准备搜索有多简单)。
第三个问题可能是由模板中错误的 html 字符集引起的。这会导致发布的搜索字符串中出现错误字符。
令人惊讶的是,从代码段参数中删除问题得到了解决。我不知道它是什么连接。
工作版本:
[[!SimpleSearchForm? &landing=`[[++searchlid]]` &tpl=`lisearch`]]
而且只是
[[!SimpleSearch]]
登陆页面。