0

问题描述: 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、Arts、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 - 每个上下文都不同。

搜索:

<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> 显示变量,如 'collat​​ion%';

+----------------------+-----------------+
| 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" />

可能是什么问题呢?

先感谢您。

4

2 回答 2

1

您能查找数据库表和字段排序规则吗?他们必须使用所有 UTF8 和 utf_general_ci 或 utf8_unicode_ci。

另一个问题可能是由在富文本字段中编码为 html 实体的 UTF-8 字符引起的。也许没有找到实体,因为只完成了原始搜索(我不知道简单的搜索如何准备搜索)。

第三个问题可能是由模板中的错误 html 字符集引起的。这将导致发布的搜索字符串中出现错误的字符。

于 2016-01-10T12:42:33.390 回答
0

令人惊讶的是,从代码段参数中删除该问题已得到解决。我不知道它是什么连接。

一个工作版本:

[[!SimpleSearchForm? &landing=`[[++searchlid]]` &tpl=`lisearch`]]

并且只是

[[!SimpleSearch]]

在登陆页面上。

于 2016-01-12T21:16:01.027 回答