powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / php: как перекодировать cp1251 из DB2 в UTF-8
3 сообщений из 3, страница 1 из 1
php: как перекодировать cp1251 из DB2 в UTF-8
    #36587729
Здравствуйте!
Такое дело, что есть БД под управление DB2 8. Эта база в cp1251. Вернее, если в DB2 Control Center выбрать Configure properties базы, то CODEPAGE == CODESET == 1251.
Есть скрипт php, который читает данные из этой базы и показывает пользователю. Если просто сделать запрос, то на выходе краказябры. Пока ситуация исправляется за счёт использования iconv() во всех строковых значениях. Например,
Код: plaintext
1.
$mname = iconv("CP1251", "UTF-8", $row["MIDDLENAME"]);
echo "отчество: $mname";

Подскажите, пожалуйста, как грамотно сделать перекодировку?
...
Рейтинг: 0 / 0
php: как перекодировать cp1251 из DB2 в UTF-8
    #36603657
Фотография dvska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Слепов,
чем iconv не устраивает?

Если стоит задача сконвертить саму базу, то я делал так .
...
Рейтинг: 0 / 0
php: как перекодировать cp1251 из DB2 в UTF-8
    #36605028
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База DB2 само по себе, а клиент сам по себе. Если в базе кодировка XXX, а на клиенте текущая YYY, то DB2-клиент должен сам преобразовать. Конечно, если это возможно. Из 1251 в КОИ можно, а в 1252 нельзя.

По моему счастью, я всегда на виндах с 1251, и мне не нужно этим заниматься, но поэтому не помню подробностей. Предлагаю погуглить по слову DB2CODEPAGE. Предположим, у вас сервер под виндами, сервис IIS, запускается из под юзера XXX. Надо как-то установить этому юзеру DB2CODEPAGE=1208.

http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.admin.regvars.doc/doc/r0005657.html
(Note: Because Windows does not report a Unicode code page (in the Windows regional settings) instead of the ANSII code page, a Windows application will not behave as a Unicode client. To override this behavior, set the DB2CODEPAGE registry variable to 1208 (for the Unicode code page) to cause the application to behave as a Unicode application.)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / php: как перекодировать cp1251 из DB2 в UTF-8
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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