|
|
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
PHP 5.2.6 (UTF8) Linux 2.6.26-2-68 (вроде Debian) ODBC драйвер каше под линус Каше сервер под виндовс Наши специалисты не могут подружить, при передаче в PHP непонятная кодировка, причем через раз разная. Это вообще возможно их подружить? Какие грабли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 10:31 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
Хм... недавно пришлось с этим биться. Вот пара "заметок на полях": Установка локали CP1251 Надо сказать, что результирующий набор, возвращаемый Cache ODBC, всегда в кодировке CP1251 (вне зависимости от 8-битности экземпляра Cache). По крайней мере, я не знаю как это изменить (да и надо ли?). Поэтому надо установить в Linux соответствующую локаль. Например, в Ubuntu 9.10 это делается так: sudo locale-gen ru_RU.CP1251 locale -a | grep 1251 в списке локалей появятся: ru_RU.cp1251 В RedHat-подобных дистрибутивах (проверено в FC 8, CentOS 5.x) локаль устанавливается так: sudo localedef --no-archive -c -f CP1251 -i ru_RU ru_RU.CP1251 Проверка наличия ru_RU.cp1251 выполняется аналогично: locale -a | grep 1251 ... Если вы захотите попробовать что-нибудь русское (ну и собственно приступить к разработке :), не забывайте вставить поближе к началу php-кода установку текущей локали CP1251: echo setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 10:53 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
Спасибо, наши вроде разобрались :-) Там еще ошибка интересная, что если получаемая строка длиннее чем ее декларация, то все что дальше - заменяется непойми чем. А так как длина %String по умолчанию равна 50 то с учетом перекодировки в UTF8 реальная длина передаваемой строки получалась 25-50. Решили тем, что поставили MAXLEN побольше, вроде работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 15:31 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
На эти грабли и у нас наступили. Наверное, на них наступают все, кто начинает работать с Cache ODBC :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 15:44 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
с учетом перекодировки в UTF8 Вы научились отдавать ResultSet в UTF-8? Я не нашел, как это сделать, кроме тупого варианта - написать Custom Query и закодировать все самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 15:48 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
Мне показалось, это у них по умолчанию получилось, хотя никаких настроек кодировки в ODBC-драйвере не было. Хотя я сам этим не занимался, переспрошу, как было дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 15:59 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. , Вы всех заинтриговали, а сами не рассказываете как получать из каше UTF-8 напрямую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 17:44 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
Вроде как у нас проблемы были не с самой кодировкой, а с обрезкой строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 19:01 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Вроде как у нас проблемы были не с самой кодировкой, а с обрезкой строк. Какими настройками добились получения utf-8? или iconv захардкодили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 19:18 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
По-моему, как для сервера utf-8 была родной кодировкой, вот в ней оно и работало :-) Я перешлю ссылку разработчику, который этим занимался, может ответит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 19:21 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
авторУ сервера родная кодировка utf-8, после вызова функции odbc_connect вызывается функция setlocale(LC_ALL, 'ru_RU.UTF-8 '); и далее данные из запросов приходят в utf-8 у нас так и для select и для insert работает. от нас везде все в utf а конвертация идет уже по пути в вашу базу данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2011, 05:44 |
|
||
|
PHP под линукс и каше
|
|||
|---|---|---|---|
|
#18+
Все просто В cache в OnPage() генерим xml файл вида w "<?xml version='1.0' encoding='utf-8'?>",! w $zcvt($zcvt("Мой текст","O","UTF8"),"O","HTML") ; исходный текст в win1251 Не забываем ContentType="text/xml" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2011, 14:03 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37213276&tid=1557738]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 370ms |

| 0 / 0 |
