ตอนนี้กำลังศึกษา Ajax อยู่ครับ พอดีตอนที่ดึง ข้อความมาแสดงใน dropdown เมนูมันขึ้นเป็นภาษาต่างดาว พอมีใครแนะนำได้บ้างไหมครับ
ขอบคุณครับ
เจอบ่อยๆ ครับ ไม่ใช่แค่กับ AJAX แต่กับ Javascript ทั้งหมดน่ะครับ
หลักๆ เลยที่เป็นกันบ่อยๆ ถ้าไม่ใช่ฝั่ง server-side ก็จะเป็นตรงฟังก์ชั่น encode/decode ครับ
วิธีแก้ที่ง่ายที่สุดคือเปลี่ยนฟังก์ชั่นพวกนี้ให้กลายเป็น encodeURIComponent/decodeURIComponent ก็น่าจะใช้ได้ทันที ถ้าไม่ได้ไปเล่นแผลงๆ อย่างอื่น
lewcpe.com, @wasonliw
วิธีที่ผมแก้ง่ายๆ คือ ใช้ UTF-8 ทั้งหมดอ่ะครับ ทั้งตัวไฟล์ ดาต้าเบส ข้อมูลที่ส่งไปกลับ ฯลฯ
ปล. ตอนนี้ผมใช้ sajax อ่ะครับ เนื่องจากขี้เกียจเขียนส่วนจัดการเอง
iPAtS
ipats - ฟังก์ชั่น encode/decode มันไม่รับ utf8 น่ะครับ ต่อให้ใช้ utf8 ก็เดี๊ยงอยู่ดี
Ok สุดท้าย ผมค้นพบวิธีแล้วอย่างที่ ipats บอกครับ "ทุกอย่างเป็น utf8" code php ที่เขียนก็ต้องเซฟเป็น utf8 ไม่ใช่ ansi meta Content-Type ก็ด้วย แน่นอนแม้แต่ database ครับ
อ่านเจอมาจากในพันทิพย์ เขาบอกว่าให้เอาโค้ดข้างล่าง ไปใส่ไว้บนหัวของโปรแกรมส่วนที่ AJAX เรียกมาแสดงผล
<?php header ("Content-Type: text/html; charset=tis-620"); ?>
ผมลองแล้ว ใช้ได้เลยครับ
softganz : หากตัว html เป็น utf-8 ให้ใช้ <?php header ("Content-Type: text/html; charset=utf-8"); ?> ครับ
www.2uproject.com ( PHP Ajax CMS Studio Learning)
ดูตัวอย่างได้ที่นี่ครับ
www.2uproject.com
แต่ใน Firefox ไม่มีปัญหาครับ
function ascii_unicode_thai($text_input) { $text_output = ""; for ($i=0;$i if (ord($text_input[$i])<=126) $text_output .= $text_input[$i]; else $text_output .= "&#".(ord($text_input[$i])-161+3585).";"; } return $text_output; }
echo แล้วได้เลยคับ
เคยเจอปัญหานี้กับตัวเองเหมือนกันครับ เมื่อดึงข้อมูลมามันขึ้นเป็นกล่องสี่เหลี่ยม พอใช้ encodeURIComponent decodeURIComponent ก็หาย
--------- http://iake.blogspot.com
ใครเคยเจอเวลาใช้ UTF-8 แล้ว ตัว ภ. กลายเป็น กล่องสี่เหลี่ยม แค่เพียงตัวเดียวบ้างมั้ยคะ ส่วนตัวอักษรตัวอื่น ปกติทุกอย่าง
--------------------------------------------------- เนื้อเพลง คอร์ดเพลง ที่ Music Lyrics Chord ค่ะ
เจอบ่อยๆ ครับ ไม่ใช่แค่กับ AJAX แต่กับ Javascript ทั้งหมดน่ะครับ
หลักๆ เลยที่เป็นกันบ่อยๆ ถ้าไม่ใช่ฝั่ง server-side ก็จะเป็นตรงฟังก์ชั่น encode/decode ครับ
วิธีแก้ที่ง่ายที่สุดคือเปลี่ยนฟังก์ชั่นพวกนี้ให้กลายเป็น encodeURIComponent/decodeURIComponent ก็น่าจะใช้ได้ทันที ถ้าไม่ได้ไปเล่นแผลงๆ อย่างอื่น
lewcpe.com, @wasonliw
วิธีที่ผมแก้ง่ายๆ คือ ใช้ UTF-8 ทั้งหมดอ่ะครับ ทั้งตัวไฟล์ ดาต้าเบส ข้อมูลที่ส่งไปกลับ ฯลฯ
ปล. ตอนนี้ผมใช้ sajax อ่ะครับ เนื่องจากขี้เกียจเขียนส่วนจัดการเอง
iPAtS
ipats - ฟังก์ชั่น encode/decode มันไม่รับ utf8 น่ะครับ ต่อให้ใช้ utf8 ก็เดี๊ยงอยู่ดี
lewcpe.com, @wasonliw
Ok สุดท้าย ผมค้นพบวิธีแล้วอย่างที่ ipats บอกครับ "ทุกอย่างเป็น utf8" code php ที่เขียนก็ต้องเซฟเป็น utf8 ไม่ใช่ ansi meta Content-Type ก็ด้วย แน่นอนแม้แต่ database ครับ
อ่านเจอมาจากในพันทิพย์ เขาบอกว่าให้เอาโค้ดข้างล่าง ไปใส่ไว้บนหัวของโปรแกรมส่วนที่ AJAX เรียกมาแสดงผล
<?php header ("Content-Type: text/html; charset=tis-620"); ?>
ผมลองแล้ว ใช้ได้เลยครับ
softganz : หากตัว html เป็น utf-8 ให้ใช้ <?php header ("Content-Type: text/html; charset=utf-8"); ?> ครับ
www.2uproject.com ( PHP Ajax CMS Studio Learning)
ดูตัวอย่างได้ที่นี่ครับ
www.2uproject.com
แต่ใน Firefox ไม่มีปัญหาครับ
function ascii_unicode_thai($text_input) { $text_output = ""; for ($i=0;$i if (ord($text_input[$i])<=126) $text_output .= $text_input[$i]; else $text_output .= "&#".(ord($text_input[$i])-161+3585).";"; } return $text_output; }
echo แล้วได้เลยคับ
เคยเจอปัญหานี้กับตัวเองเหมือนกันครับ เมื่อดึงข้อมูลมามันขึ้นเป็นกล่องสี่เหลี่ยม พอใช้ encodeURIComponent decodeURIComponent ก็หาย
--------- http://iake.blogspot.com
ใครเคยเจอเวลาใช้ UTF-8 แล้ว ตัว ภ. กลายเป็น กล่องสี่เหลี่ยม แค่เพียงตัวเดียวบ้างมั้ยคะ ส่วนตัวอักษรตัวอื่น ปกติทุกอย่าง
--------------------------------------------------- เนื้อเพลง คอร์ดเพลง ที่ Music Lyrics Chord ค่ะ