id09318
ก๊วนเสียว
พลังน้ำใจ: 9
ออฟไลน์
กระทู้: 282
|
 |
« เมื่อ: 03 พฤศจิกายน 2014, 19:15:04 » |
|
 ข้อมูลใน SQL SERVER เป็นภาษาไทยครับ แต่พอดึงออกมาเป็น ʵҧ�� Database กำหนด Collation เป็น Thai_CI_AS นี่คือฟังชั่นครับ function topmoney($svname,$svuser,$svpass) { $dbnamesv = "xxx"; $coninfo = array( "Database"=>$dbnamesv, "UID"=>$svuser, "PWD"=>$svpass); $conn = sqlsrv_connect( $svname, $coninfo); $sql="select top 15 * from TB_B1 ORDER BY TB_MONEY DESC"; $result=sqlsrv_query($conn, $sql, array(), array("Scrollable"=>"buffered")); $c = 1; while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) ) { if(!preg_match("/^@/",$row[CHARACTER_NAME] )) { echo '
<div class="row"> <div class="col-xs-2"> '.$c.' . '.$row['CHARACTER_NAME'].' </div> </div> '; $c++; }
}
sqlsrv_free_stmt($result); sqlsrv_close($conn);
} ตัวนี้แสดงผลครับ <?php error_reporting(0); include("config.php"); include("functions.php"); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>TEST</title> </head> <body> <?php topmoney($svname,$svuser,$svpass) ?> </body> </html>
|
|
|
บันทึกการเข้า
|
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.
|
|
|
wasantec
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 586
ออฟไลน์
กระทู้: 2,613
|
 |
« ตอบ #1 เมื่อ: 03 พฤศจิกายน 2014, 19:20:23 » |
|
ลองเปลี่ยนเป็น UTF-8 Unicode (utf8)
|
|
|
บันทึกการเข้า
|
|
|
|
id09318
ก๊วนเสียว
พลังน้ำใจ: 9
ออฟไลน์
กระทู้: 282
|
 |
« ตอบ #2 เมื่อ: 03 พฤศจิกายน 2014, 19:22:56 » |
|
ลองเปลี่ยนเป็น UTF-8 Unicode (utf8)
เปลี่ยนแล้วครับท่าน! ไม่หาย 
|
|
« แก้ไขครั้งสุดท้าย: 03 พฤศจิกายน 2014, 19:26:35 โดย id09318 »
|
บันทึกการเข้า
|
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.
|
|
|
nattapol196
คนรักเสียว
พลังน้ำใจ: 10
ออฟไลน์
กระทู้: 167
|
 |
« ตอบ #3 เมื่อ: 03 พฤศจิกายน 2014, 19:37:13 » |
|
mysql_query("set NAMES utf8 ");
ก่อน $sql="select top 15 * from TB_B1 ORDER BY TB_MONEY DESC";
ครับ
|
|
|
บันทึกการเข้า
|
|
|
|
id09318
ก๊วนเสียว
พลังน้ำใจ: 9
ออฟไลน์
กระทู้: 282
|
 |
« ตอบ #4 เมื่อ: 03 พฤศจิกายน 2014, 20:08:14 » |
|
mysql_query("set NAMES utf8 ");
ก่อน $sql="select top 15 * from TB_B1 ORDER BY TB_MONEY DESC";
ครับ
ใส่แล้วครับ ไม่หายครับ 
|
|
« แก้ไขครั้งสุดท้าย: 03 พฤศจิกายน 2014, 20:10:49 โดย id09318 »
|
บันทึกการเข้า
|
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.
|
|
|
gulmiku
ก๊วนเสียว
พลังน้ำใจ: 34
ออฟไลน์
กระทู้: 339
|
 |
« ตอบ #5 เมื่อ: 03 พฤศจิกายน 2014, 20:44:28 » |
|
mysql_query("set NAMES utf8 ");
ก่อน $sql="select top 15 * from TB_B1 ORDER BY TB_MONEY DESC";
ครับ
ใส่แล้วครับ ไม่หายครับ  ใส่ต่อบรรทัด connect เข้าสู่ db เลยนะครับ
|
|
|
บันทึกการเข้า
|
รับทำ theme wordpress เริ่มต้นที่ 8,000 บ. รับเขียนระบบเว็บไซต์ เริ่มต้นที่ 10,000บ. รับแก้งาน แก้บัค , เขียน scripts อื่นๆ,เขียน plugin wordpress สนใจ PM ครับ
|
|
|
id09318
ก๊วนเสียว
พลังน้ำใจ: 9
ออฟไลน์
กระทู้: 282
|
 |
« ตอบ #6 เมื่อ: 03 พฤศจิกายน 2014, 20:47:30 » |
|
ใส่ต่อบรรทัด connect เข้าสู่ db เลยนะครับ
ใส่แล้วครับ ไม่หายครับ ต่างด้าวอยู่ 
|
|
|
บันทึกการเข้า
|
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.
|
|
|
ohmohm
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 170
ออฟไลน์
กระทู้: 3,098
|
 |
« ตอบ #7 เมื่อ: 04 พฤศจิกายน 2014, 16:48:07 » |
|
หน้าเว็บนี้ ที่ browser ของผม ผมลองเปลี่ยนมุมมองจาก UTF-8 เป็น Thai พบคำว่า สตาง ซึ่งน่าจะเป็นข้อความสกุลเงิน ผมแกะดูจาก HTML source แล้วเป็นเลขฐานสิบหก CAB5 D2A7 EFBF BDEF BFBD ลอง print convert(varchar(10), 0xCAB5D2A7EFBFBDEFBFBD)
หน่อยซิครับ แล้ว column CHARACTER_NAME เป็น varchar หรือ nvarchar ครับ หรือว่าเป็นอย่างอื่น บน Microsoft SQL Server ชอบใช้ UTF-16/UCS-2 ไม่ใช่ UTF-8 ซะด้วยซิ
|
|
« แก้ไขครั้งสุดท้าย: 04 พฤศจิกายน 2014, 16:59:52 โดย ohmohm »
|
บันทึกการเข้า
|
|
|
|
goodwide
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 66
ออฟไลน์
กระทู้: 1,432
|
 |
« ตอบ #8 เมื่อ: 04 พฤศจิกายน 2014, 17:09:41 » |
|
<meta http-equiv=Content-Type content="text/html; charset=tis-620"> ช่วยได้ไหม
|
|
|
บันทึกการเข้า
|
|
|
|
ReleaseCandidate
คนรักเสียว
พลังน้ำใจ: 43
ออฟไลน์
กระทู้: 181
|
 |
« ตอบ #9 เมื่อ: 04 พฤศจิกายน 2014, 17:42:56 » |
|
ที่ /etc/mysql/my.cnf [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake init_connect = 'SET collation_connection = utf8_general_ci' init_connect = 'SET NAMES utf8' character-set-server = utf8
restart mysql แล้วเช็ค mysql status ถ้าได้แบบนี้ที่ mysql ก็น่าจะโอเคล่ะ Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8
ที่ php.ini default_charset = "UTF-8" ที่ webserver ก็ควร set ให้เป็น utf8 ด้วย # nginx # apache ลองดูนะครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
id09318
ก๊วนเสียว
พลังน้ำใจ: 9
ออฟไลน์
กระทู้: 282
|
 |
« ตอบ #10 เมื่อ: 04 พฤศจิกายน 2014, 23:57:20 » |
|
ที่ /etc/mysql/my.cnf [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake init_connect = 'SET collation_connection = utf8_general_ci' init_connect = 'SET NAMES utf8' character-set-server = utf8
restart mysql แล้วเช็ค mysql status ถ้าได้แบบนี้ที่ mysql ก็น่าจะโอเคล่ะ Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8
ที่ php.ini default_charset = "UTF-8" ที่ webserver ก็ควร set ให้เป็น utf8 ด้วย # nginx # apache ลองดูนะครับ  ของผมเป็น MSSQL ครับ
|
|
|
บันทึกการเข้า
|
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.
|
|
|
ohmohm
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 170
ออฟไลน์
กระทู้: 3,098
|
 |
« ตอบ #11 เมื่อ: 05 พฤศจิกายน 2014, 10:19:05 » |
|
ตรง ลองเปลี่ยนเป็น iconv('CP874', 'UTF-8', $row['CHARACTER_NAME'])
ดูซิครับ ถ้าไม่ได้ผลลอง เปลี่ยนตรง cp874 เป็นตัวเลือกอื่นๆ เช่น windows-874, ISO-8859-11, TIS-620 หรือ MacThai
|
|
|
บันทึกการเข้า
|
|
|
|
id09318
ก๊วนเสียว
พลังน้ำใจ: 9
ออฟไลน์
กระทู้: 282
|
 |
« ตอบ #12 เมื่อ: 05 พฤศจิกายน 2014, 17:43:31 » |
|
ตรง ลองเปลี่ยนเป็น iconv('CP874', 'UTF-8', $row['CHARACTER_NAME'])
ดูซิครับ ถ้าไม่ได้ผลลอง เปลี่ยนตรง cp874 เป็นตัวเลือกอื่นๆ เช่น windows-874, ISO-8859-11, TIS-620 หรือ MacThai ได้แล้วครับ ขอบคุณมากครับ  +1คับ
|
|
|
บันทึกการเข้า
|
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.
|
|
|
nong4534
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 91
ออฟไลน์
กระทู้: 1,453
|
 |
« ตอบ #13 เมื่อ: 06 พฤศจิกายน 2014, 10:31:15 » |
|
ปัญหาเดียวกันเลย ขอบคุณครับ
|
|
|
บันทึกการเข้า
|
Rangforever แจกโค้ดตัวอย่างโปรเจคPHPฟรี(เขียนโปรแกรมphp java C#) PHP Future เขียนโปรแกรมภาษาphp (แจกโปรเจคฟรี แหล่งเรียนรู้ไอที เทคโนโลยี)
|
|
|
|