|
|
|
ติดปัญหากับภาษาไทย ibm-838 ของ Server IBM AS400 ครับ |
|
|
|
|
|
|
|
ติดปัญหากับภาษาไทย ibm-838 ของ Server IBM AS400 ครับ
ใน Collation ของ Server IBM AS400 ถูกตั้งค่าเป็น ibm-838 พอเวลาดึงข้อมูลมาแสดงที่ web browser จะไม่เป็นภาษาไทยครับ
สงสัย สามารถนำ ibm-838 มาแปลงเป็น UTF-8 หรือ TIS-620 ได้ไมครับ
จากตัวอย่าง
430
1
14290
1280000935
128110916
2
1
FVPTBTS-00009
ก์๙ฉก์ะๅปๆฎ์ฤ๐ฤ๙ฉฅะ์กฃยหฤไฉ๐ฎ๘๐ฃ๗ฉ
430
โค๊ด
<?
$dsnname="AS400";
$dbuser="mvxsp";
$dbpwd="mvxsp";
$db=odbc_connect($dsnname,$dbuser,$dbpwd); //connect to DB2 UDB for iSeries
if ($db==FALSE) echo "<p>Cannot connect!</p>";//test if db connection succeeded
$sql="SELECT * FROM data.wpd01 where W1CONO ='10' ";//query Statement
$result=odbc_exec($db,$sql); //execute Query statement
While (odbc_fetch_row($result)) { //fetch result set
printf("%s<br>%s<br>%s<br>%s<br>%s<br>%s<br>%s<br>%s<br>%s<br>",
odbc_result($result,1),odbc_result($result,2),odbc_result($result,3),odbc_result($result,4),odbc_result($result,5),odbc_result($result,6),odbc_result($result,7),odbc_result($result,8),odbc_result($result,9));
}
odbc_close($db); //close connection
?>
Config
ไฟล์ ODBC.INI
root@hr:/etc# cat odbc.ini
[AS400]
;CCSID=1208 ; utf-8 unicode
; 273 germany
CCSID = 819 ; latin-1
UNICODESQL = 1
Description = Production AS/400 Database
Driver = iSeries Access ODBC Driver
System = 10.1.1.30
UserID = mvxsp
Password = mvxsp
DefaultLibraries = SMKDIFP ; you have to change this
AllowDataCompression = 1
AllowUnsupportedChar = 1
ForceTranslation = 0
Trace = 0
TraceFile = /tmp/odbc.trace
Servername = S6581A2A.hr.co.th
ไฟล์ ODBCINST.INI
root@hr:/etc# cat odbcinst.ini
[MDBTools]
Description = MDBTools Driver
Driver = libmdbodbc.so.1
Setup = libmdbodbc.so.1
FileUsage = 1
UsageCount = 1
[ODBC]
Trace = No
TraceFile = /tmp/sql.log
ForceTrace = No
Pooling = Yes
[iSeries Access ODBC Driver]
Description = iSeries Access for Linux ODBC Driver
Driver = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Driver64 = /opt/ibm/iSeriesAccess/lib64/libcwbodbc.so
Setup = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
Setup64 = /opt/ibm/iSeriesAccess/lib64/libcwbodbcs.so
UsageCount = 1
CPTimeout =
CPReuse =
Threading = 2
DontDLClose = 1
FileUsage = 1
#TRACE = 31
Tag : PHP, Ms Access, CakePHP, Linux, Web Service
|
ประวัติการแก้ไข 2013-03-13 13:30:03 2013-03-13 13:45:52 2013-03-13 13:46:39
|
|
|
|
|
Date :
2013-03-13 13:26:38 |
By :
nattkhanesha |
View :
23468 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเปิด Control Panel\All Control Panel Items\Administrative Tools\Data Sources (ODBC) จะใช้ CCSID 65535
|
|
|
|
|
Date :
2013-03-13 14:13:45 |
By :
nattkhanesha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็น code page 838 ที่เราใช้ icon แก้ไขการแสดงผลค่ะ ตอนนี้ติด code page 37 ที่ยังหากทางแก้ไขไม่ได้ T^T
code
$str_sql = "select ASNME1, ASNME2 from asset838 where ascode = '22EACD004' ";
$test = Yii::$app->db2->createCommand($str_sql)->queryall();
$txt = iconv('tis-620',"utf-8",$test[0]['ASNME2']);
ECHO '<BR>=AS400- iCON TIS-620 =<br>'.$txt.'<br><br>';
$txt = iconv("CP874","utf-8",$test[0]['ASNME2']);
ECHO '<BR>=AS400- iCON CP874 =<br>'.$txt.'<br><br>';
display
=AS400- iCON TIS-620 =
จอย้ายมาจาก TOC เมื่อ 21/08/52
=AS400- iCON CP874 =
จอย้ายมาจาก TOC เมื่อ 21/08/52
|
|
|
|
|
Date :
2022-07-15 13:34:16 |
By :
Momo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cp 37 มันไม่ใช่ภาษาไทยนี่ครับ
ทำไมถีงใช้ cp 37
|
|
|
|
|
Date :
2022-07-15 16:16:39 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|