Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Непонятные символы в результате поиска если ввести более одного слова на русском языке (кириллице).


Slavik7

Recommended Posts

Добрый вечер, уважаемые специалисты!

Столкнулся с такой проблемой. Если в поиск ввести более 2 слов на русском языке (кириллице) и нажать на кнопку поиска, то на странице поиска в url и в поле поиска, русские слова заменяются на непонятные символы. 

 

Если вводить в поиск слова на английском языке, всё работает. И если вводить только одно слово на русском языке, тоже работает. 

 

Если я правильно понимаю эта ошибка связана с кодировкой.

 

Просто дело в том, что у меня есть два сайта, которые идентичны (отличаются лишь дизайном и некоторыми мелочами). На сайте https://divek.com.ua/ поиск работает без ошибок, а вот на втором https://bagcity.com.ua/ с ошибками.

 

Уже столько разных статей перечитал по решению подобной проблемы, но так и не получилось решить эту задачу.

 

Понимаю, что подобные темы уже обсуждались и возможно Вы посоветуете получше поискать ответы в интернете. Но если Вас это не затруднит, то подскажите, пожалуйста,  как решить эту проблему.

 

Общая информация:

 

Скриншот результата поиска ( https://bagcity.com.ua/search/?search=ÑÑмка ÑеÑÐ½Ð°Ñ ) :

Screenshot_1.jpg

Надіслати
Поділитися на інших сайтах


8 часов назад, Slavik7 сказал:

Добрый вечер, уважаемые специалисты!

Столкнулся с такой проблемой. Если в поиск ввести более 2 слов на русском языке (кириллице) и нажать на кнопку поиска, то на странице поиска в url и в поле поиска, русские слова заменяются на непонятные символы. 

 

Если вводить в поиск слова на английском языке, всё работает. И если вводить только одно слово на русском языке, тоже работает. 

 

Если я правильно понимаю эта ошибка связана с кодировкой.

 

Просто дело в том, что у меня есть два сайта, которые идентичны (отличаются лишь дизайном и некоторыми мелочами). На сайте https://divek.com.ua/ поиск работает без ошибок, а вот на втором https://bagcity.com.ua/ с ошибками.

 

Уже столько разных статей перечитал по решению подобной проблемы, но так и не получилось решить эту задачу.

 

Понимаю, что подобные темы уже обсуждались и возможно Вы посоветуете получше поискать ответы в интернете. Но если Вас это не затруднит, то подскажите, пожалуйста,  как решить эту проблему.

 

Общая информация:

 

Скриншот результата поиска ( https://bagcity.com.ua/search/?search=ÑÑмка ÑеÑÐ½Ð°Ñ ) :

Screenshot_1.jpg

Это вскорее uft8 при сохранении выберите uft8 коды

Надіслати
Поділитися на інших сайтах


5 часов назад, zCarot сказал:

Да. Как я говорил выше с одним русским словом работает, а вот с двумя и более возвращает в инпут и заголовок непонятные символы.

 

Надіслати
Поділитися на інших сайтах


кажется, понял.
У вас там стоит PWA и работает Service Worker, который отдает закэшированное что-то...

Возможно или это кэшированный вариант страницы, или service worker как-то неправильно перекодирует запрос к серверу..

  • +1 1
Надіслати
Поділитися на інших сайтах

можно посмотреть в логах сервера, по каким адресам идут запросы. Если уже по косячным, тогда с Service Worker проблема, а если редирект уже на сервере происходит, тогда обратитесь в суппорт хостинга, может у них с кодировками что-то... Но как может работать на одном браузере и не работать на другом, это загадка..

  • +1 1
Надіслати
Поділитися на інших сайтах

О, точно. Спасибо. Действительно может быть из-за PWA. Недавно разбирался как его делать и настраивать. Вполне может быть что где-то что-то не то написал, или не до настроил. Сейчас буду проверять.

Надіслати
Поділитися на інших сайтах


Да, проблема оказалась в PWA. Отключил его полностью и проблема с поиском пропала. Скорее всего он не правильно кэширует данные. Сейчас попробую sw.js сделать максимально простым и проверить. Просто сейчас там код который я смотрел у https://www.youtube.com/watch?v=ifroMW_F4Sc&ab_channel=ВладиленМинин . Возможно что-то упустил.

 

Надіслати
Поділитися на інших сайтах


вряд ли это кэш, запросы то делались вообще разные.
Похоже именно запрос на сервер уже шел косячный. Ну а сервер отдавал что запросили.
Какая-то есть настройка может быть в sw.js, которая это учитывает..
Что-то типа encodeURIComponent

  • +1 1
Надіслати
Поділитися на інших сайтах

Только что, Prooksius сказал:

Какая-то есть настройка может быть в sw.js, которая это учитывает..

Думаю да. Главное что получилось найти место поломки. А дальше уже буду пробовать и искать информацию по настройке PWA и sw.js в частности.

Надіслати
Поділитися на інших сайтах


1 час назад, Slavik7 сказал:

А где Вы эти данные посмотрели?

И пользуйтесь преимуществами консоли, там много чего есть, что облегчит дебаггинг.

Спойлер

index.thumb.png.eaa7b860ab0fe294bca8c98dc3aec433.png

 

Надіслати
Поділитися на інших сайтах

3 часа назад, Prooksius сказал:

И пользуйтесь преимуществами консоли, там много чего есть, что облегчит дебаггинг.

Я пользуюсь, но не всем что там есть. Спасибо. Кстати, нашел кусок кода в sw.js который вызывает ошибку:

 

self.addEventListener('fetch', event => {
   const {request} = event

   const url = new URL(request.url)
   if (url.origin === location.origin) {
     event.respondWith(cacheFirst(request))
   } else {
     event.respondWith(networkFirst(request))
   }
 })

 

Что нужно дописать, чтобы ошибки с поиском не было?

Надіслати
Поділитися на інших сайтах


Надо курить мануал, разбираться. Вроде бы все по инструкции, как везде пишут, но видать или косяк какой-то в webkit браузерах, или все же невнимательно читали мануал.

Надіслати
Поділитися на інших сайтах

  • 1 month later...
12.01.2022 в 17:32, Slavik7 сказал:

Что нужно дописать, чтобы ошибки с поиском не было?

if (request.url.indexOf('index.php?route=product/search') != -1) {
	return event.request;
}

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.