To correctly display and otherwise handle strings from Db2 in php you should set an environmental variable DB2CODEPAGE. For UTF-8 database it is usually 1208.
For example, put
env[DB2CODEPAGE] = 1208
in your /etc/php-fpm.d/www.conf file.PDO_DBLIB DSN
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
PDO_DBLIB DSN
Референца за `ref.pdo-ibm.connection.php` со подобрена типографија и навигација.
PDO_DBLIB DSN
(PECL PDO_IBM >= 0.9.0)
PDO_DBLIB DSN — Connecting to IBM databases
= NULL
The PDO_IBM Data Source Name (DSN) is based on the IBM CLI DSN. The major components of the PDO_IBM DSN are:
- Името на изворот на податоци (DSN) на PDO_ODBC се состои од следниве елементи:
-
DSN префикс
ibm:. - DSN
-
The DSN can be any of the following:
-
a) Data source setup using db2cli.ini or odbc.ini
-
b) Catalogued database name i.e. database alias in the DB2 client catalog
-
c) Complete connection string in the following format:
DRIVER={IBM DB2 ODBC DRIVER};DATABASE=каде што параметрите ги претставуваат следните вредности:database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;database-
Името на базата на податоци.
hostname-
Име на хост или IP адреса на серверот на базата на податоци.
port-
TCP/IP портата на која базата на податоци слуша за барања.
username-
Корисничкото име со кое се поврзувате на базата на податоци.
password-
Лозинката со која се поврзувате на базата на податоци.
-
Примери
Example #1 PDO_IBM DSN example using db2cli.ini
The following example shows a PDO_IBM DSN for connecting to an DB2 database cataloged as DB2_9 in db2cli.ini:
$db = new PDO("ibm:DSN=DB2_9", "", "");
[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789
Example #2 PDO_IBM DSN example using a connection string
The following example shows a PDO_IBM DSN for connecting to an DB2 database named testdb using the DB2 CLI connection string syntax.
$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
"HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");
Белешки од корисници 2 забелешки
The connection string is wrong for the example :
$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
"HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");
You get the PDO Exception with the error code -1329.
You have to write :
$db = new PDO(
"ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
"HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;UID=testuser;PWD=testpass",
"",
"");