Латышский язык в mysql

Кром

Новичок
Латышский язык в mysql

У меня следующая проблема:
Я сделал поисковый скрипт по сайту (на латышском языке). Данные по сайту занесены в базу данных. Когда я из поисковой формы делаю запрос скрипт сканирует базу данных, но необходимые слова не находит, так как в базе данных они лежат в другой кодировке. Как быть? Нужно менять кодировку запроса на такую же как в базе данных? Но как? Какой функцией?
Я знаю, есть функции для перекодировки русского. Но вот как быть с латышским...
Если кто знает, подскажите пожалуйста.
 

chira

Новичок
Одно из решений:
Именно латышских букв не так много , 11 букв .
При поиске с LIKE оператором заменяй их на _ (подчеркивание)
 

Кром

Новичок
Да, но это приведет к тому, что по такому запросу база выдаст лишние слова, или как?
 

mahoune

Guest
Вот что подумалось...
А почему у тебя так сложилось вообще, что данные в базе в одной кодировке лежат а для запроса приходят в другой?
 

chira

Новичок
Я использовал для MySQL default-character-set=latin1
. кодировку для вровсера 1257 и все искалось.
 

chira

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

Кром

Новичок
Дело в том, что данные в базе лежат в кодировке которая установлена по умолчанию, а запрос должен делаться в кодировке windows-1257.
База данных будет лежать на хостинге провайдера, ее настройки я менять не смогу, так?
С заменой букв не все понятно, на самом деле...
Я подумал может запрос тоже заносить в базу данных, а потом сравнивать его с содержимым базы данных. Тогда они оба будут в одной кодировке (без разницы - какой)?
 

mahoune

Guest
Проблема ясна!
Я тоже с этим сталкивался, и решение к которому мы пришли коллектывно обсуждая выглядит таким образом.
В базе данных ты хранишь все заменяя латышские буквы на латинские, как тебе и сказал chira - желательно в том-же порядке, это понадобится при сортировке. При выводе данных на страничку делаешь замену в обратную сторону. Это был первый вариант! Вариант второй, если бояться, что данные могут не правильно сохраниться, создаем вместо одного поля, целых два. В одно записываем только те данные которые надо хранить, без замены и прочего, и их-же ты будешь показывать, а поиск осуществлять по второму полю, где и будешь проводить замену латышских букв на латинские или на что угодно другое!
 
Сверху