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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingช่วยด้วยครับ มีปัญหากับ Encoding แก้ทุกทางแล้วแต่ก็ยังเป็นเหมือนเดิม
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยด้วยครับ มีปัญหากับ Encoding แก้ทุกทางแล้วแต่ก็ยังเป็นเหมือนเดิม  (อ่าน 1189 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
mahaaud8401
ก๊วนเสียว
*

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

กระทู้: 323



ดูรายละเอียด เว็บไซต์
« เมื่อ: 04 เมษายน 2010, 22:30:55 »

คือ ผมใช้ PHP Infoboard V.5 ของ cannot.info อ่ะครับ มันเก่าแล้วก็จริง แต่ว่ามันสะดวกตรงที่เอาตัวบอร์ดมาใน Template ของเราได้ง่ายกว่าบอร์ดอื่นๆด้วย และที่ไม่ใช้ V.6 ก็เพราะมันเป็น AJAX ซึ่งตัวนี้คนที่ใช้ IE 6 จะค้างบ่อยๆ (และยังมีคนใช้เยอะอยู่ซะด้วย) จึงตัดสินใจใช้ V.5 นี่แหละครับ เวิร์คที่สุด

แต่มันมีปัญหาคือ พอโพสกระทู้แล้ว มันแสดงหัวข้อกระทู้แบบนี้ครับ



และสิ่งที่ผมได้แก้ไขไปแล้วคือ

- เปลี่ยนตัวไฟล์ที่ใช้แสดงผลภาษาไทยเป็น UTF-8 แล้ว
- เปลี่ยน Charset ใน MySQL เป็น utf8_bin แล้ว
- เปลี่ยนไฟล์ทุกไฟล์ของ PHP infoboard V.5 เป็น UTF-8 แต่พอเปลี่ยนแล้วมันขึ้น Session Error เลยต้องเปลี่ยนกลับ

ทำหมดแล้ว แต่ก็ยังคงเป็นเหมือนในรูปดังกล่าว

ตอนนี้หมดปัญญาแล้วครับ  wanwan031

ไม่ทราบว่าจะทำอย่างไรถึงจะให้มันแสดงผลแบบปกติเหรอครับ ไม่ใช่แบบในรูป ปกติผสมต่างดาว

ขอความกรุณาด้วยนะครับ

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

Soon...
ball6847
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 4,152



ดูรายละเอียด
« ตอบ #1 เมื่อ: 04 เมษายน 2010, 22:36:04 »

ที่เปลี่ยนเป็น UTF8 แล้ว SESSION ERROR แสดงว่าใช้โปรแกรมที่แปลงเป็น UTF8 แต่ไม่ได้ remove bom signature ลองใช้ editplus แล้ว preference ให้ default encoding เป็น utf8 แล้วก็เลือก always remove bom signature แล้วลองแปลงดู ประมาณนี้แหละครับ
บันทึกการเข้า

ขัน
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,254



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 04 เมษายน 2010, 23:02:39 »

ตอบเท่าที่ให้ข้อมูลมานะครับ น่าจะมี 2 ปัญหา session กับ แสดงผล
session ไม่รู้ครับ แต่เรื่องการแสดงผล...
ภาษาต่างดาวตอนท้ายอันนี้เกิดจากใช้ฟังก์ชัน substr เพื่อตัดจำนวนตัวอักษรรึปล่าวครับ
ฟังก์ชั่นนี้มันอาจจะไปตัดอวัยวะบางส่วนของอักษรไทยโดยไม่ได้ตัดทั้งตัวมันก็เลยไม่รู้จะแสดงผลออกมาเป็นตัวใหน

ลองเปลี่ยนมาใช้ฟังก์ชัน iconv_substr แทนดูนะครับ แล้วใส่ parameter UTF-8 อีกตัว ประมาณนี้ครับ

โค๊ด:
<?=iconv_substr("ข้อความของฉันที่จะตัด",0,320, "UTF-8")."...";?>


 wanwan016
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์