Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Третью ночь не сплю - пытаюсь подружить php и sqlite / 12 сообщений из 12, страница 1 из 1
06.10.2010, 00:40
    #36883797
закорючка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
Всем здрасьти!
Вот решил тут накатать маленькую cms и использованием сикьюлайт, но уперся в следующий трабл:
На моем локальном серваке стоит 5 php и sqlite 2.8, создаю базу, пишу в неё по буржуйски - все пучком, достается из базы и выводится как положено. Жить можно вобщем. НО русские буквы не хочет жрать падла ни в какую, я и так и сяк уже пробовал и весь мануал по поддерживаемым фукшинам перерыл, нифига! Точнее она их жрет, но отдает только кракозябры. Причем я прекрасно понимаю что 3 версия sqlite работает с русскими кодировками через pdo, но все было бы хорошо, если бы хостинги с такими плюшками существовали. А мне нужна cms которую я бы смог разместить на любом хостинге, а не на выделенном серваке, вокруг которого еще надо с бубном поплясать чтобы все поставить из исходников.
В общем ситуация сейчас такова:
sqlite_libencoding(); на двух серверах показал utf-8 и iso8859
версия sqlite на обоих 2.8
Научите товарищи гуру русскими буквами разговаривать, пожалуйста!
Тыкните носом куда нужно.

ЗЫ Открываю создаваемую базу текстовым редактором - одни решетки, пробовал во всех мыслимых и немыслимых кодировках - результат один - решетки. Вот что значит база данных для американских авианосцев! Всем сказали что utf-8 или iso8859-1 а на деле - хрен пойми что. Кругом обман!
...
Рейтинг: 0 / 0
06.10.2010, 23:58
    #36885915
закорючка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
Вах, как все замечательно! Либо никто не знает, либо решения нет. Ни один ни другой расклад не радует!
Ниужели здесь нет гуру?
Ау, подскажите каким костылем воспользоваться...
...
Рейтинг: 0 / 0
07.10.2010, 01:30
    #36885988
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
А чем тебе не нравится utf8?
Клиенту объясни что данные в базу должны уходить в utf8 и что читать их оттуда надо в той же utf8 и вся задача решена.
Слишком элементарная проблема что бы просыпаться.
...
Рейтинг: 0 / 0
07.10.2010, 03:55
    #36886025
закорючка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
White Owl,

UTF-8 мне нравится, даже больше, я в него просто влюблен, жить просто без него не могу!
Но вот в роли клиента как я понял выступает Апач, а манипулировать с ним я тупо не могу, так как это конфликтует с моими религиозными взглядами основанными на аренде выделенных серверов. Ну разумеется я перепробовал все варианты по encode - decode записываемых и вынимаемых данных - кракозябры и все тут!
Есть опыт работы с мускулом - так там все просто, указал в какой кодировке идет соединение с базой и дело в шляпе, а вот sqlite не поддерживает такой функции, да и вообще у него нет ни одной функции насчет кодировки входящих данных (бинарные данные не в счет).
Если знаете способ решения проблемы, пожалуйста отпишитесь что и как.
С меня пиво )))
...
Рейтинг: 0 / 0
07.10.2010, 18:02
    #36887849
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
закорючкаНо вот в роли клиента как я понял выступает Апач,Нет. В роли клиента твой PHP скрипт.
закорючкаЕсть опыт работы с мускулом - так там все просто, указал в какой кодировке идет соединение с базой и дело в шляпе, а вот sqlite не поддерживает такой функции, да и вообще у него нет ни одной функции насчет кодировки входящих данных (бинарные данные не в счет).Начал в правильном направлении, но до конца не дошел.
UTF8 это и есть бинарные данные. Набор байтиков который может быть расшифрован в строку.
В нормальном языке ты работаешь со строками типа wchar. В уродцах типа PHP у тебя по умолчанию все строки char. Так что конвертируй все запросы к базе через utf8_encode(), декодируй все ответы через utf8_decode() и все будет шелковисто.
...
Рейтинг: 0 / 0
07.10.2010, 19:16
    #36887988
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
SQLite БД может иметь либо UTF8 либо UTF16 кодировку. Данные возвращаются
и помещаются в кодировке соответственно вызываемой функции API - если Xxx
то UTF8, если Xxx16 то UTF16. PHP не очень знаю - так что смотри в какой кодировке
там данные, и используй соответствующую функцию.
...
Рейтинг: 0 / 0
07.10.2010, 19:58
    #36888021
закорючка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
White Owl Так что конвертируй все запросы к базе через utf8_encode(), декодируй все ответы через utf8_decode() и все будет шелковисто.
Ох, было бы все так просто, я бы уже дано в Сочах бы жил. Это было первым экспериментом по локализации это несчастной базы данных. Ничего не меняется, что так закорючки, что так, точно такие же закорючки.

White Owl SQLite БД может иметь либо UTF8 либо UTF16 кодировку.
Да да, я уже писал выше, что если бы там был utf-8 то при открытии тексовым редактором были бы мои буквы а не решетки. UTF-16 мой блокнот не поддерживает, но вот iconv('UTF-16', 'UTF-8', $моирусскиебуковки) положительных результатов не дает, значит база и не в utf-16 )))
Весёлая однако история получается.
Мде...
...
Рейтинг: 0 / 0
07.10.2010, 21:11
    #36888083
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
White OwlВ уродцах типа PHP у тебя по умолчанию все строки char.
Извиняюсь за оффтоп, но в современном php неужто настолько все дерьмово?
...
Рейтинг: 0 / 0
07.10.2010, 22:15
    #36888169
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
MBGWhite OwlВ уродцах типа PHP у тебя по умолчанию все строки char.
Извиняюсь за оффтоп, но в современном php неужто настолько все дерьмово?yep.
Оно в исходниках поставляется, можешь сам заглянуть.
...
Рейтинг: 0 / 0
08.10.2010, 12:36
    #36889028
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
White Owlyep.
Оно в исходниках поставляется, можешь сам заглянуть.
Спасибо, а в исходники пхп как-то не тянет - видел я их когда-то, в версии 3.х, хватило.
...
Рейтинг: 0 / 0
08.10.2010, 19:02
    #36890204
закорючка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
MBGWhite Owlyep.
Оно в исходниках поставляется, можешь сам заглянуть.
Спасибо, а в исходники пхп как-то не тянет - видел я их когда-то, в версии 3.х, хватило.
Ну да, я тоже считаю что вид строковых данных имеет более важное значение чем то ради чего эта ветка создавалась.
Ведите себя как заведено на форумаж, нечего оффтопить.
А по делу - ничего не изменилось, уже начинаю подумывать что вообще зря ветку открыл ((
...
Рейтинг: 0 / 0
14.10.2010, 00:50
    #36898337
Tolka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Третью ночь не сплю - пытаюсь подружить php и sqlite
юзаю 2.8.17. пхп 5.1

в html файликах ставлю

Код: plaintext
1.
2.
3.
4.
5.
6.
	<meta http-equiv="Content-Type" content="text/html;charset=windows-1251" >

<?php
   setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251', 'russian');
   setlocale(LC_NUMERIC, 'en_US');
?>

и всё пучком...русские букавки чудненько так сохраняются и достаются. И даже в cmd их отображает

Код: plaintext
1.
2.
3.
4.
5.
sqlite> select name from users;
Коля
Женя
Саша
Алёна
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Третью ночь не сплю - пытаюсь подружить php и sqlite / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]