Поиск:

Ответ в темуСоздание новой темы Создание опроса
> sqlite значения на кирилице 
:(
    Опции темы
DYUMON
Дата 17.6.2011, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: 2
Всего: 3



Доброго всем времени суток такая проблемка. делаю базу данных в которой будут данные на кирилице.  использую для этого sqlite. погуглив узнал что для поддержки русской кодировки необходимо использовать  ICU нашел скачал закинул библиотеки 
прописал в коде 
Код

SELECT icu_load_collation('ru_RU','RUSSIAN');


при запросе 
Код

select * from блала 


все выводится 
но когда использую запрос 
Код

WHERE pname LIKE 'блабла%''

 выводится все подряд.
если искользовать функцию UPPER то не выводится ничего
подскажите в какую сторону копать?


--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
Akella
Дата 17.6.2011, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(DYUMON @  17.6.2011,  11:34 Найти цитируемый пост)
icu_load_collation


Я с sqlite не знаком, но мне кажется, что collation - это не кодировка, а направление сортировки.


Цитата(DYUMON @  17.6.2011,  11:34 Найти цитируемый пост)
но когда использую запрос 

Где используешь? В какой базе кодировка? В какой кодировке передаёшь кириллицу?
PM MAIL   Вверх
DYUMON
Дата 17.6.2011, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: 2
Всего: 3



Кодировка в базе  в utf-8  пробовал передавать  в запросе ansitoutf8()  но реакция нулевая.  и еще пишу в 7 версии . думаю может попробовать что нибудь поновее может будет тогда нормально работать?   


--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
Akella
Дата 17.6.2011, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(DYUMON @  17.6.2011,  14:06 Найти цитируемый пост)
пробовал передавать  в запросе ansitoutf8()  но реакция нулевая

А при подключении нужно кодировку указывать? Если да, то какую указываешь?
PM MAIL   Вверх
DYUMON
Дата 19.6.2011, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: 2
Всего: 3



я через компонент цеплюсь у него указываю формат базы utf 8


--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
Akella
Дата 20.6.2011, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



значит компоненты сами должны выполнять AnsiToUTF8,намек понял?

Добавлено через 14 секунд
ну а вообще читай доки по компонентам
PM MAIL   Вверх
DYUMON
Дата 23.6.2011, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: 2
Всего: 3



В общем повозившись покурив мануалы перешёл на lazarus там с этим делом получше обстоит. 


--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
DYUMON
Дата 1.7.2011, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: 2
Всего: 3



Решил таки добить эту тему. нашел придчину невезения. все дело в кодировке.

при добавление текста в базу надо делать 
Код

UTF8Encode("текст")


запрос можно делать без перекодирования. только результаты воборки подвергать перекодирыванию.
Код

UTF8Decode ("вапавпапавп")



--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
Akella
Дата 1.7.2011, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



А если при подключении указывать кодировку, то компоненты сами не кодируют? Ты доку не читал по ним?
PM MAIL   Вверх
DYUMON
Дата 2.7.2011, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: 2
Всего: 3



там доки по ним только с указанием  свойств. 5 html страничек. и они подразумевают что им будут передаваться данные в utf8 


--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
Keeper89
Дата 2.7.2011, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 1
Всего: 58



Логично будет передавать данные в UTF-8 и делать конвертирование при посылке запросов.


--------------------
PM MAIL WWW   Вверх
Poseidon
Дата 17.7.2011, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 3
Всего: 133



Цитата(DYUMON @  1.7.2011,  11:20 Найти цитируемый пост)
Решил таки добить эту тему. нашел придчину невезения. все дело в кодировке.
Верно разобрался. Жаль я эту тему раньше не увидел, т.к. сам с этим вопросом разбирался. Хочу добавить, что подобным образом БД "глючит" только с оператором LIKE. Если его не использовать, то проблем с кодировкой не наблюдается. Вот более-менее подробный разбор проблемы.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0532 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.