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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingเทพ PHP รบกวนหน่อยคับบันทึกข้อมูลภาษาไทยลงฐานข้อมูลแต่เปนต่างด้าว
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: เทพ PHP รบกวนหน่อยคับบันทึกข้อมูลภาษาไทยลงฐานข้อมูลแต่เปนต่างด้าว  (อ่าน 2263 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
rockyrich
คนรักเสียว
*

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

กระทู้: 168



ดูรายละเอียด
« เมื่อ: 24 มิถุนายน 2013, 08:29:31 »

ผมลองแอดข้อมูลจากฐานข้อมูลมันก้อแสดงภาษาไทยปกติ แต่เวลาดึงข้อมูลมาแสดงจะเปน  Huh?Huh??
แต่ถ้าเพิ่มข้อมูลมาจากเบราเซอร เวลาดึงข้อมูลมันจะ แสดงภาษาไทยปนมากับสี่เหลี่ยม รู้สึกว่าเป็นสี่เหลี่ยมเฉพาะสระพวก ไม้หันอากาศ พวกสระอิ สระอึ อะไรแบบนี้คับ แล้วเวลาแสดงผลในฐานข้อมูลก้อเป็นภาษาต่างด้าวหมด

ใช้อักขระ utf-8 ทั้งหมดคับ ตั้งแต่หน้าเวบ ฐานข้อมูล ช่วยทีคับ งมมานานแล้ว
บันทึกการเข้า
adidog
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,859



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 24 มิถุนายน 2013, 08:49:15 »

MySQL charset: UTF-8 Unicode (utf8) Collation:utf8_general_ci แล้วหรือยัง
ถ้าบอกว่าในฐานมันยึกยืออยู่แสดงว่ามันผิดตั้งแต่ insert แล้วหรือเปล่า
แล้ว meta เซ็ทเป็น utf-8 แล้วด้วยหรือยังครับ
บันทึกการเข้า

Certain Dri Certain Dri
คุณแม่มือใหม่ คุณแม่มือใหม่
ttong
สมุนแก๊งเสียว
*

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

กระทู้: 633



ดูรายละเอียด
« ตอบ #2 เมื่อ: 24 มิถุนายน 2013, 08:51:24 »

ตอน connect database ได้ใส่ code แบบด้านล่างไว้หรือยังครับ
โค๊ด:
mysql_db_query($databasename,"SET NAMES UTF8");
บันทึกการเข้า

rockyrich
คนรักเสียว
*

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

กระทู้: 168



ดูรายละเอียด
« ตอบ #3 เมื่อ: 24 มิถุนายน 2013, 10:46:15 »

ขอบคุณมากคับแก้ได้แล้วคับ
บันทึกการเข้า
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 24 มิถุนายน 2013, 10:54:04 »

ตอน connect database ได้ใส่ code แบบด้านล่างไว้หรือยังครับ
โค๊ด:
mysql_db_query($databasename,"SET NAMES UTF8");

แบบนี้คงใช้ไม่ได้กับ PHP 5.3 นะครับ
ผมแนะนำให้เขียนแบบนี้ครับ

mysql_query("SET NAMES UTF8"); 
mysql_query("SET character_set_results=UTF8"); 
บันทึกการเข้า

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

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

กระทู้: 1,307



ดูรายละเอียด
« ตอบ #5 เมื่อ: 24 มิถุนายน 2013, 11:02:47 »

ทำตารางให้เป็น utf8_general_ci และฟิดทุกฟิด (ที่ไม่ใช่ int) เป็น utf8_general_ci ให้หมดครับ
และหน้าเว็บ ทำเป็น utf-8 ด้วย
โค๊ด:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">

ตอน connect database ได้ใส่ code แบบด้านล่างไว้หรือยังครับ
โค๊ด:
mysql_db_query($databasename,"SET NAMES UTF8");

แบบนี้คงใช้ไม่ได้กับ PHP 5.3 นะครับ
ผมแนะนำให้เขียนแบบนี้ครับ

mysql_query("SET NAMES UTF8"); 
mysql_query("SET character_set_results=UTF8"); 
อันนี้ใช้ในกรณีที่ข้อมูลที่ได้มา เป็น utf-8 แต่ในตารางหรือฟิดไม่ใช่ utf-8 ทำให้การดึงข้อมูลผิดเพี้ยน พอใส่คำสั่งข้านบนเข้าไป ไม่ว่าจะตารางหรือฟิดจะตั้งเป็นอะไรก็ตาม จะถูกบังคับให้ใช้เป็น utf-8 ทั้งหมด
บันทึกการเข้า
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 24 มิถุนายน 2013, 11:06:29 »

ทำตารางให้เป็น utf8_general_ci และฟิดทุกฟิด (ที่ไม่ใช่ int) เป็น utf8_general_ci ให้หมดครับ
และหน้าเว็บ ทำเป็น utf-8 ด้วย
โค๊ด:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">

ตอน connect database ได้ใส่ code แบบด้านล่างไว้หรือยังครับ
โค๊ด:
mysql_db_query($databasename,"SET NAMES UTF8");

แบบนี้คงใช้ไม่ได้กับ PHP 5.3 นะครับ
ผมแนะนำให้เขียนแบบนี้ครับ

mysql_query("SET NAMES UTF8"); 
mysql_query("SET character_set_results=UTF8"); 
อันนี้ใช้ในกรณีที่ข้อมูลที่ได้มา เป็น utf-8 แต่ในตารางหรือฟิดไม่ใช่ utf-8 ทำให้การดึงข้อมูลผิดเพี้ยน พอใส่คำสั่งข้านบนเข้าไป ไม่ว่าจะตารางหรือฟิดจะตั้งเป็นอะไรก็ตาม จะถูกบังคับให้ใช้เป็น utf-8 ทั้งหมด

จขกท. เค้าบอกไว้แล้วครับ
อ้างถึง
ใช้อักขระ utf-8 ทั้งหมดคับ ตั้งแต่หน้าเวบ ฐานข้อมูล ช่วยทีคับ งมมานานแล้ว
บันทึกการเข้า

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