Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PHP+ PostgreSQL+UTF8+Windows
|
|||
|---|---|---|---|
|
#18+
Приветствую всех участников форума. Только начинаю работать с PostgreSQL и сразу столкнулась с проблемой кодировки. Просмотрела страницы форума по данному вопросу, но так и не смогла решить, что мне делать дальше. А проблема моя состоит в следующем: На машину клиента, где стоит Windows установила PostgreSQL 8.1. Все шло прекрасно. Я отладила программы на PHP и подготовила базу данных для загрузки на сервер. На сервере стоит FreeBSD. Сделала BACKUP из pgAdmina. При сливе базы на сервер операция RESTORE спотыкалась на русских буквах и требовала кодировки UTF-8 (COPY failed: ERROR: invalid byte sequence for encoding "UTF8": 0xc032), т.е. такую, как на сервере. Кодировку, если я поняла правильно (после нескольких неудачных попыток изменить ее из приложения на PHP), менять можно только при инсталляции PostgreSQL, что я и сделала задав при повторной инсталляции вместо кодировки SQL_ASCII кодировку UTF-8. Проблемы с кодировкой на сервере прошли, но появились проблемы с Windows - из программ на PHP я не могу обратиться к файлам в системе Windows. На ум приходит следующее решение - перед обращением к файлам перекодировать строку символов в Windows-1251, но может есть какие-нибудь более интересные решения. Если у кого-нибудь есть опыт в решении подобной проблемы. Пожалуйста, поделитесь. Буду очень признательна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2007, 10:55 |
|
||
|
PHP+ PostgreSQL+UTF8+Windows
|
|||
|---|---|---|---|
|
#18+
Не могу понять, как изменения в конфиге постгреса повлияли на доступ к файлам из "программ на PHP"??? Лично мне удобнее на серверах(OC FreeBSD) данные хранить в KOI8-R что и настоятельно советую всем остальным а c клиента скрипт начинается со слов set client_encondig to "WIN"; И нет нужды заморачиваться перекодировкой в PHP-скрипте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2007, 15:32 |
|
||
|
PHP+ PostgreSQL+UTF8+Windows
|
|||
|---|---|---|---|
|
#18+
У вас названия файлов храняться в базе, и проблеммы когда в пхп пытаетесь взять файл с именем файла из базы? Потому как иначе, в самом деле, что то совсем не понятно как может кодировка базы поломать доступ к файлам из пхп?! Shweik Лично мне удобнее на серверах(OC FreeBSD) данные хранить в KOI8-R что и настоятельно советую всем остальным Если толька не надо что б в базе хранились данные на разных языках, а не только на русском. Иначе без unicode почти что ни как :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2007, 19:53 |
|
||
|
PHP+ PostgreSQL+UTF8+Windows
|
|||
|---|---|---|---|
|
#18+
Так будет работать: 1. в php скриптах: Код: plaintext 3. при создании базы: Код: plaintext 1. 2. 3. в php.ini установить: output_buffering = 4096 Успехов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 11:07 |
|
||
|
PHP+ PostgreSQL+UTF8+Windows
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за участие в моей проблеме. Проблему с кодировкой, на сегодняшний день, я решила следующим образом: 1. Инсталлировала постгрес с кодировкой как на сервере, т.е. с UTF-8. 2. При обращении к файлам в программах на PHP использую функцию Encode. (нашла здесь -http://ru.php.net/manual/ru/function.convert-cyr-string.php). 3. Базу на сервере пополняю из приложения, изменив предварительно кодировку txt - файлов на UTF-8. Относительно использования charset=utf-8, это было первое, что я попыталась сделать, и у меня вышла ошибка, о которой вы упоминаете. О необходимых изменениях в конфиге я не знала (спасибо за информацию). Но факт тот, что на сервере я не могу изменять конфиг, только у себя, на клиенте. Еще раз большое спасибо всем за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 18:14 |
|
||
|
|

start [/forum/topic.php?fid=53&tid=2005737]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 344ms |

| 0 / 0 |
