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

เริ่มโดย okgofun, 12 ตุลาคม 2007, 22:32:10

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

okgofun

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 มา ก็จะแสดงผลภาษาไทยไม่ได้

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

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


จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

EThaiZone

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

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

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

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

okgofun

อ้างถึงจาก: EThaiZone ใน 12 ตุลาคม 2007, 22:54:32
เรื่องนั้น ใช้ http://th.php.net/manual/en/function.utf8-encode.php#53318

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

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

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

ลองแล้วไม่ได้ผลอะครับ  :'(
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

EThaiZone

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

[EDIT]

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

http://www.narisa.com/forums/lofiversion/index.php?t12505.html
http://www.phpclasses.org/browse/package/1974.html

okgofun

อ้างถึงจาก: EThaiZone ใน 12 ตุลาคม 2007, 23:10:06
iso8859_11toUTF8() นะครับ ใช้ไม่ได้เหรอ  ???

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

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

ขอบคุณครับ กำลังรอเลยอะ ทำไม่ได้เสียที
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

EThaiZone

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

http://www.narisa.com/forums/lofiversion/index.php?t12505.html
http://www.phpclasses.org/browse/package/1974.html

icez

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



ส่วนโปรแกรมอื่น ลองดูแถวๆ นั้นแหละครับ notepad ของ windows ก็ทำได้
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

okgofun

อ้างถึงจาก: icez ใน 12 ตุลาคม 2007, 23:19:12
ใน meta ใช้ utf8 ไปเลยครับ
แล้วตอนเซฟแฟ้ม สำหรับ editplus นะครับ



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

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

อ่า แล้วก็ขอบคุณคุณ Ethaizone มากครับ พยายามช่วยเต็มที่เลย เดี๋ยวจะลองวิธีที่หามาให้ด้วยครับ ใจดีจัง  :'(
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

icez

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

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

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

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


*remark : server ต้องรองรับ iconv นะ
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

Bes

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

[direct=https://client.hostsevenplus.com/aff.php?aff=396]✔ แนะนำ Hosting และ VPS ราคาเริ่มต้น 277 บาทฟรี! SSL ซัพพอทคุยง่าย[/direct]

[direct=https://www.bitkub.com/signup?ref=512782]✔ ซื้อบิทคอยที่ Bitkub (ได้รับการรับรองจาก กลต.)[/direct]

icez

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


การส่งแบบ get จะมีข้อจำกัดทางด้านความยาวของข้อความที่ส่งครับ
รวมกับ url แล้วต้องไม่เกินพันกว่าตัว (จำไม่ได้แล้วว่าพันเท่าไหร่)
เพราะฉะนั้นถ้ามีพวกข้อความยาวเวอร์ๆ ก็ต้องส่งเข้า post หมดครับ
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

okgofun

อ้างถึงจาก: icez ใน 13 ตุลาคม 2007, 02:21:31
อ้อ ผมลืมบอกเรื่อง get กับ post


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

ขอบคุณมากครับ
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน