 |
เรื่องเดิม...กระทู้ ที่สามแล้วครับ เครื่อง....ภาษาไทย....กับ MSSQL ทำอย่างไรดีคร๊าบ......... |
|
 |
|
|
 |
 |
|
อันนี้เป็น Code ที่ได้มาใหม่
<meta charset="windows-874">
<?
$link = mssql_connect('192.168.0.20', 'sa', 'ufida');
mssql_select_db('UFDATA_009_2012', $link);
// sending data to database
$utf8 = 'some unicode windows-874 data'; // some Greek text for example ;)
$ucs2 = iconv('gb18030', 'windows-874', $utf8);
$arr = unpack('H*hex', $ucs2);
$hex = "0x{$arr['hex']}";
$result = mssql_query("select convert(nvarchar(100), cInvCName) from InventoryClass", $link);
while (($row = mssql_fetch_array($result, MSSQL_BOTH)))
{
// we get data in UCS-2
// I use UTF-8 in my project, so I encode it back
echo(iconv('gb18030', 'windows-874', $row['cInvCName']));
}
mssql_free_result($result);
mssql_close($link);
?>
ไม่ว่าจะ charset="อะไรก็ไม่ได้นะครับ"

ล่าสุดผ่าน ODBC มาที่ Microsoft ทั้งหลายก็เป็นภาษาไทยครับ

เลยยังมีความหวังว่ามันต้อง ออก
Tag : PHP, Ms SQL Server 2008
|
ประวัติการแก้ไข 2012-03-31 16:31:27 2012-03-31 16:34:54
|
 |
 |
 |
 |
Date :
2012-03-31 16:30:50 |
By :
time.toon |
View :
2265 |
Reply :
13 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองใช้ access ดึง odbc ไปใช้ รึยัง
แล้วเขียนติดต่อ access อีกทีน่ะครับ
|
 |
 |
 |
 |
Date :
2012-03-31 16:50:15 |
By :
mangkunzo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 1 เขียนโดย : mangkunzo เมื่อวันที่ 2012-03-31 16:50:15
รายละเอียดของการตอบ ::
ขอบคุณ ทุก ท่าน ครัีบ............สำเหร็จ แล้วครับ
Code (PHP)
<meta charset="windows-874">
<?
$link = mssql_connect('192.168.0.20', 'sa', 'ufida');
mssql_select_db('UFDATA_009_2012', $link);
// sending data to database
$utf8 = 'some unicode windows-874 data'; // some Greek text for example ;)
$ucs2 = iconv('gb18030', 'windows-874', $utf8);
$arr = unpack('H*hex', $ucs2);
$hex = "0x{$arr['hex']}";
$result = mssql_query("select convert(nvarchar(100), cInvCName) from InventoryClass", $link);
while (($row = mssql_fetch_array($result, MSSQL_BOTH)))
{
// we get data in UCS-2
// I use UTF-8 in my project, so I encode it back
echo(iconv('gb18030', 'windows-874', $row['cInvCName']));
}
mssql_free_result($result);
mssql_close($link);
?>
ได้ทุกภาษา....บนโลก ยกเว้นดาวอังคาร ครับ 
|
 |
 |
 |
 |
Date :
2012-03-31 17:17:03 |
By :
time.toon |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โอ๊วดีใจด้วยครับ ตกลงใช้ตัวนี้เหรอครับ
|
 |
 |
 |
 |
Date :
2012-03-31 17:21:09 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่เคยเขียน PHP
แต่ขอ Book mark ไว้หน่อยล่ะกัน อิอิ
|
 |
 |
 |
 |
Date :
2012-03-31 17:24:18 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จริงๆ ถ้าใช้ utf-8 อาจจะไม่ปวดหัวขนาดนี้ก็เป็นได้นะครับ เพราะ gb น่าจะแสดงผลออกมาได้ ผมเคยเขียนเว็บภาษาจีนใช้ utf-8 ไม่เคยเจอปัญหาเลย
|
 |
 |
 |
 |
Date :
2012-03-31 18:31:51 |
By :
ikikkok |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนนี้ ประสบปัญหาเดียวกัน โปรแกรม ตัวเดียวกัน
เค้าให้ผมเขียนโปรแกรม ไปดึง ข้อมูลมา insert ลง mysql ตัวหนังสือ ภาษาไทย ????? หมด ทำตามเจ้าของกระทู้ ก็ยังไม่ได้ครับ
อยากจะรบกวน แนะนำวิธีการหน่อยได้มั้ยครับ
|
 |
 |
 |
 |
Date :
2012-08-17 15:38:49 |
By :
สมชาย พิศเพ็ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้า type เป็น nvarchar หรือ nchar
ลองใส่ N ข้างหน้า field ที่ INSERT ดูครับ ผมเคยทำของญี่ปุ่น
เช่น INSERT INTO Mytable(ID, NAME, SURNAME) VALUE(N'XXX', N'XXX', N'XXX')
|
 |
 |
 |
 |
Date :
2012-08-17 18:03:59 |
By :
Krungsri |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มาแอบเอาความรู้ อิอิ  
|
 |
 |
 |
 |
Date :
2012-08-17 23:55:03 |
By :
compiak |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 11 เขียนโดย : สมชาย พิศเพ็ง เมื่อวันที่ 2012-08-18 15:37:47
รายละเอียดของการตอบ ::
แก้ปัญหาได้แล้วครับ "ถามเอง ตอบเอง เลยแหะ"
ให้ใส่ บังคับ Field นั้น ๆ เลย ครับ
SELECT
UFDATA_998_$year.dbo.Customer.cCusCode collate Thai_CI_AS AS cCusCode,
UFDATA_998_$year.dbo.Customer.cCusName collate Thai_CI_AS AS cCusName,
UFDATA_998_$year.dbo.Customer.cCusAbbName collate Thai_CI_AS as cCusAbbName,
UFDATA_998_$year.dbo.Customer.cCusAddress collate Thai_CI_AS as cCusAddress,
UFDATA_998_$year.dbo.Customer.cCusEmail collate Thai_CI_AS as cCusEmail,
UFDATA_998_$year.dbo.Customer.cCusPhone collate Thai_CI_AS as cCusPhone,
UFDATA_998_$year.dbo.Customer.cCusFax collate Thai_CI_AS as cCusFax,
UFDATA_998_$year.dbo.Customer.cCreatePerson collate Thai_CI_AS as cCreatePerson,
UFDATA_998_$year.dbo.Crm_Contact.cContactName collate Thai_CI_AS as cContactName
เพียงเท่านี้ ก็จะ echo ค่าออกมาเป็นภาษาไทยแล้วครับ แต่ตรงหัว ต้อง encoding เป็น windows-874 ก็แสดงเป็นภาษาไทยได้เลยครับ
|
 |
 |
 |
 |
Date :
2012-08-22 10:54:58 |
By :
สมชาย พิศเพ็ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2012-08-22 21:41:42 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|