powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Кодировка PHP+Firebird
10 сообщений из 10, страница 1 из 1
Кодировка PHP+Firebird
    #39623804
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Уже давно мучаюсь, но ничего не выходит.
БД Firebird. Запросы из PHP.
Все прекрасно работает, но только с английскими буквами и цифрами. Явно дело в кодировке.
Результаты запроса содержат кириллицу, отображаются нормально. Сам запрос эхом смотрел, также содержит кириллицу, все нормально. Для полей в Firebird указана кодировка Win1251. Через IBExcpert запросы с кириллицей проходят нормально. Только через PHP не проходят. Вот такое не проходит:

Код: sql
1.
SELECT * FROM GET_SEARCHBYTEXT('абра')



результат = 0, данных нет.
Сам запрос правильный, select ... where field CONTAINING абра.
А вот это без проблем отрабатывает:

Код: sql
1.
SELECT * FROM GET_SEARCHBYTEXT('abra')



Начитался про default_charset в php.ini, но не помогает. В базе поля пробовал в UTF8, тоже не помогло.
...
Рейтинг: 0 / 0
Кодировка PHP+Firebird
    #39623860
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

При соединении кодировка указывается? Какой Charset у самого php файла?
...
Рейтинг: 0 / 0
Кодировка PHP+Firebird
    #39623874
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

при присоединении файла пробовал в коннекте указывать кодировку явно, не помогает.
Сам файл.php в utf-8.
Но как я понимаю кодировка файла наверное ни при чем? В смысле данные ведь нужны не для отображения. Запрос передается и обрабатывается php - вебсервер - firebird. Введенные данные в файле php вывожу на экран, они прекрасно отображаются. Далее до базы буд-то не доходят. Где-то теряются кириллические символы.
...
Рейтинг: 0 / 0
Кодировка PHP+Firebird
    #39623922
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Менял кодировку файла, не помогает.
...
Рейтинг: 0 / 0
Кодировка PHP+Firebird
    #39624084
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

Не собирай запрос напрямую в тексте скрипта, делай через параметры.
...
Рейтинг: 0 / 0
Кодировка PHP+Firebird
    #39624286
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

а как в PHP можно параметр передать? Собственно изначально должно было быть с параметром, но так как нигде не нашел, решил что в PHP так низя.
...
Рейтинг: 0 / 0
Кодировка PHP+Firebird
    #39624292
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашел, через ibase_prepare, ibase_execute. Параметр передается. Но ничего не изменилось. Также кириллицу игнорирует.
...
Рейтинг: 0 / 0
Кодировка PHP+Firebird
    #39624300
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

Есть подозрение, что ты базе пихаешь запрос с символами в UTF8, а в базе у тебя WIN1251. Для проверки - попробуй сделать конвертацию значения в WIN1251.
...
Рейтинг: 0 / 0
Кодировка PHP+Firebird
    #39624313
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, с

Код: php
1.
iconv("UTF-8", "WINDOWS-1251", $var1)



стало лучше) но все же есть пока мне не понятные странности. Хранимая процедура в случае запроса из IBExpert и Php возвращает разное количество записей. Т.е. стало лучше, но не ясно почему не "хорошо" :)
...
Рейтинг: 0 / 0
Кодировка PHP+Firebird
    #39624345
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

спасибо за подсказки с кодировкой! Проблема решена. Ко всему прочему, я как начинающий спец по PHP не разобрался толком с ibase_fetch_row/object/assoc. В результате массив выводился по while (...) на n-1 запись. Т.е. либо не все, либо если была всего лишь одна запись, она вообще не выводилась.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Кодировка PHP+Firebird
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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