2011-08-15 2 views
0

Я использую фрагмент SimpleSearch в Modx Revolution CMS для поиска содержимого веб-страницы. Используя форму, как это:
ModX Revolution: метод get pass закодированный символ

<form class="sisea-search-form" action="[[~[[+landing]]]]" method=get> 
<input type="text" name="hledej" id="hledej" value="[[+searchValue:default=`Hledej...`]]" onfocus="if (this.value == 'Hledej...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Hledej...';}" /> 

Поиск на веб-страницы работ, для строк с символами, как спецпредложения "ěščřžýáá" (другой язык), за исключением. Проблема заключается в том, что метод получения закодировать передать этот символ в URL, как это:
../search-result.html?search=str%25C3%25A1nce & ID = 13
и найти 0 результатов .... если поиск string в url не закодирован (он попытался переписать его вручную), он возвращает некоторые результаты ...
Я также попытался использовать сообщение метода, но id doesnt работает вообще ...
Любая идея?

+0

Насколько я знаю, это правильный способ транспортировки специальных символов, чтобы они не случайно избегали или не изменяли контент. Ваша проблема более вероятна, что ваша кодировка является одним типом, поступающим с веб-страницы, а другая в базе данных, или даже может быть другой кодировкой со страницы на страницу. Это действительно не должно происходить в ModX, но иногда это может случиться. Попробуйте сделать фрагмент с фрагментом в нем, который выводит параметры $ _GET, чтобы увидеть, что фактически получено php в другом конце. –

+0

Может возникнуть проблема с кодировкой mysql, существует смесь utf8_general и utf8_czech – Kudykam

+0

Пока они оба UTF-8, это не должно быть проблемой. –

ответ

0

Он работает правильно на разных хостингах, поэтому проблема, вероятно, в другом месте. Я закрываю эту тему.

Смежные вопросы