ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingajax กับการแสดงภาษาไทย แล้วก็ get หรือ post อันใหนดีกว่าครับ?
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ajax กับการแสดงภาษาไทย แล้วก็ get หรือ post อันใหนดีกว่าครับ?  (อ่าน 4052 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« เมื่อ: 12 ตุลาคม 2007, 22:32:10 »

ajax กับการแสดงภาษาไทย แล้วก็ get หรือ post อันใหนดีกว่าครับ?

คือผมลองส่งข้อมูลแบบ post นะครับ ซึ่งต้องมีการใช้คำสั่ง encodeURIComponent() อันนี้ด้วยอะครับ

ผลก็คือ สมมุติ user กรอกข้อความเป็นภาษาไทยลงไป แล้ว ajax เรียกไฟล์ checkdata.php เพื่อตรวจสอบข้อมูล

ถ้า header กำหนดเป็น header("Content-Type: text/plain; charset=UTF-8") ;

ข้อความที่ถูก encode มันก็จะแสดงเป็นภาษาไทยได้ครับ แต่....

ปัญหาคือ

ข้อความอื่นๆจากไฟล์นี้ที่เรา echo ออกมาที่เป็นภาษาไทยหนะสิครับ เช่น

echo "ข้อมูลของท่านคือ ".$_POST['yourtext'] ;

ตัวแปร yourtext มันก็แสดงภาษาไทยได้ ถ้าใช้ utf-8 แต่ข้อความที่เราแทรกไปคือ "ข้อมูลของท่านคือ" มันจะแสดงผลเป็นภาษาไทยไม่ได้ครับ

แต่.. ถ้ากำหนด header เป็นพวก tis ข้อความตรง "ข้อมูลของท่านคือ" ก็แสดงผลภาษาไทยได้ แต่ตัวแปร yourtext ที่ถูก encode มา ก็จะแสดงผลภาษาไทยไม่ได้

ผมละงง  Sad จะแก้ปัญหายังไงดีครับ

เอ่อ แล้วส่งแบบ get , post สำหรับ ajax ต่างกันมากใหมครับ


« แก้ไขครั้งสุดท้าย: 12 ตุลาคม 2007, 23:12:57 โดย okgofun » บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,517



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 12 ตุลาคม 2007, 22:54:32 »

เรื่องนั้น ใช้
โค๊ด:
http://th.php.net/manual/en/function.utf8-encode.php#53318

ช่วยสิครับ มันใช้แปลง tis620 เป็น utf8 ได้

ส่วนเรื่อง get กับ post  อันนี้ผมไม่ค่อยรู้

เดียวนี้พึ่ง libraly จนง่อยกินแล้ว  Tongue
บันทึกการเข้า

okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #2 เมื่อ: 12 ตุลาคม 2007, 23:04:15 »

เรื่องนั้น ใช้
โค๊ด:
http://th.php.net/manual/en/function.utf8-encode.php#53318

ช่วยสิครับ มันใช้แปลง tis620 เป็น utf8 ได้

ส่วนเรื่อง get กับ post  อันนี้ผมไม่ค่อยรู้

เดียวนี้พึ่ง libraly จนง่อยกินแล้ว  Tongue


ลองแล้วไม่ได้ผลอะครับ  Cry
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,517



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 12 ตุลาคม 2007, 23:10:06 »

iso8859_11toUTF8() นะครับ ใช้ไม่ได้เหรอ  Huh?

[EDIT]

ลองดูอันนี้หน่อยครับ

โค๊ด:
http://www.narisa.com/forums/lofiversion/index.php?t12505.html
http://www.phpclasses.org/browse/package/1974.html
« แก้ไขครั้งสุดท้าย: 12 ตุลาคม 2007, 23:13:43 โดย EThaiZone » บันทึกการเข้า

okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #4 เมื่อ: 12 ตุลาคม 2007, 23:12:23 »

iso8859_11toUTF8() นะครับ ใช้ไม่ได้เหรอ  Huh?

เดียวหาวิธีอื่นก่อน *-*

ลองเรียกฟังก์ชั่นแล้วครับ แล้วก็ลองเปลี่ยน header เกี่ยวกับการแสดงภาษาหลายแบบกระทั่งไม่ใส่เลยก็ยังไม่ได้ครับ

ขอบคุณครับ กำลังรอเลยอะ ทำไม่ได้เสียที
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,517



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 12 ตุลาคม 2007, 23:14:12 »

ลองดูอันนี้หน่อยครับ

โค๊ด:
http://www.narisa.com/forums/lofiversion/index.php?t12505.html
http://www.phpclasses.org/browse/package/1974.html
บันทึกการเข้า

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 287
ออฟไลน์ ออฟไลน์

กระทู้: 2,729



ดูรายละเอียด
« ตอบ #6 เมื่อ: 12 ตุลาคม 2007, 23:19:12 »

ใน meta ใช้ utf8 ไปเลยครับ
แล้วตอนเซฟแฟ้ม สำหรับ editplus นะครับ



ส่วนโปรแกรมอื่น ลองดูแถวๆ นั้นแหละครับ notepad ของ windows ก็ทำได้
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #7 เมื่อ: 12 ตุลาคม 2007, 23:33:29 »

ใน meta ใช้ utf8 ไปเลยครับ
แล้วตอนเซฟแฟ้ม สำหรับ editplus นะครับ



ส่วนโปรแกรมอื่น ลองดูแถวๆ นั้นแหละครับ notepad ของ windows ก็ทำได้


ขอบคุณมากครับคุณ icez  ได้แล้วครับ ผมกำหนด ใน editplus ตามที่บอกเลยครับ

อ่า แล้วก็ขอบคุณคุณ Ethaizone มากครับ พยายามช่วยเต็มที่เลย เดี๋ยวจะลองวิธีที่หามาให้ด้วยครับ ใจดีจัง  Cry
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 287
ออฟไลน์ ออฟไลน์

กระทู้: 2,729



ดูรายละเอียด
« ตอบ #8 เมื่อ: 13 ตุลาคม 2007, 01:49:42 »

ถ้าจะใช้ TIS-620 นะครับ
ตอนรับค่าจาก form ต้องสั่ง แปลงให้เป็น UTF-8 ก่อนใช้งาน

สมมตินะครับ ว่าได้ตัวแปร $_GET["message"] มาแล้ว ในนี้จะเป็น encode แบบ TIS-620 อยู่
ก่อนใช้งานก็สั่ง

$_GET["message"] = iconv("TIS-620", "UTF-8", $_GET["message"]);

จะได้ค่าตัวแปรเป็น unicode เรียบร้อยครับ


*remark : server ต้องรองรับ iconv นะ
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
Bes
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 141
ออฟไลน์ ออฟไลน์

กระทู้: 3,073



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 13 ตุลาคม 2007, 02:12:08 »

คงจะคล้าย ๆ php แหละครับ
ผมว่าแล้วแต่กรณีมากกว่าเรื่องการใช้ get กับ post เนี่ย
บันทึกการเข้า

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 287
ออฟไลน์ ออฟไลน์

กระทู้: 2,729



ดูรายละเอียด
« ตอบ #10 เมื่อ: 13 ตุลาคม 2007, 02:21:31 »

อ้อ ผมลืมบอกเรื่อง get กับ post


การส่งแบบ get จะมีข้อจำกัดทางด้านความยาวของข้อความที่ส่งครับ
รวมกับ url แล้วต้องไม่เกินพันกว่าตัว (จำไม่ได้แล้วว่าพันเท่าไหร่)
เพราะฉะนั้นถ้ามีพวกข้อความยาวเวอร์ๆ ก็ต้องส่งเข้า post หมดครับ
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #11 เมื่อ: 13 ตุลาคม 2007, 02:24:11 »

อ้อ ผมลืมบอกเรื่อง get กับ post


การส่งแบบ get จะมีข้อจำกัดทางด้านความยาวของข้อความที่ส่งครับ
รวมกับ url แล้วต้องไม่เกินพันกว่าตัว (จำไม่ได้แล้วว่าพันเท่าไหร่)
เพราะฉะนั้นถ้ามีพวกข้อความยาวเวอร์ๆ ก็ต้องส่งเข้า post หมดครับ

ขอบคุณมากครับ
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
หน้า: [1]   ขึ้นบน
พิมพ์