Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > บทความจากสมาชิก > แก้ปัญหา Font Thai MySQL



 
Clound SSD Virtual Server

แก้ปัญหา Font Thai MySQL

ใครใช้ mysql v.4.1.x - 5.x จะพบปัญหาว่าการแสดงผลธ์ออกมาเป็นตัวอักษร ??? ซึ่งในเวอร์ชันใหม่ ทาง mysql พยายามจะทำให้สนับสนุนภาษาดีขึ้น เลยทำให้ผู้ใช้หรือผู้ติดตั้งระบบยังไม่เคยชิน ที่จิงเป็นเรื่องเก่าแล้วสำหรับผม แต่พอดีมี msn มาถามผม
ผมเลยบอกว่าให้มาดูบอร์ดที่นี้แต่เขาก็ได้คำตอบว่าให้เขียนโค๊ดเพิ่ม ซึ่งเขาให้ลิงค์นี้ผมดู http://www.phpconcept.com/index.php?option=content&task=view&id=21&Itemid=28

ซึ่งมันต้องเขียนโค๊ตเพิ่ม และเขาถามว่ามีวิธีไหนบ้างที่เพิ่มน้อยหรือไม่ต้องเพิ่มไรเลย

ก่อนอื่นต้องขอเกิ่นเกี่ยวกับ mysql เวอร์ชันใหม่ก่อนว่า จะแย่งการทำงานเกี่ยวกับภาษาเป็นสองฝั่งคือ client กับ server จากเมื่อก่อนจะขึ้นกับฝั่ง server เท่านั้น ฉะนั้นถ้าเรา config ในเวอร์ชัน (4.0.x) จะเซ็ตในส่วน
[mysqld]
default-character-set=tis620

แค่นี้ก็ทำให้ใช้ได้แล้ว แต่ทว่าในเวอร์ชันใหม่มันมีการแย่งส่วนในการแสดง การจัดเก็บ การเรียงภาษา ว่าจะให้กำหนดเป็นรูปแบบภาษาอะไร
ฉะนั้นวิธีแก้ไขมีอยู่สองแบบ แก้ที่โปรแกรม (client) กับแก้ที่การ config default ที่ฝั่ง server
อย่างแรก program
- ทำเป็นไฟล์ include ไว้แค่นี้ก็ไม่ต้องแก้หลายไฟล์ mysql_connect($host_mysql,$user_mysql,$pass_mysql);
mysql_select_db($dbname_mysql);

$charset = "SET NAMES 'tis620'";
mysql_query($charset);
อย่างที่สอง เซ็ตที่ฝั่ง server
Windows แก้ที่ไฟล์ my.ini ดังนี้
[mysqld]
.....
default-character-set=tis620
default-collation=tis620_thai_ci
....
[mysql]
default-character-set-name=tis620
แค่นี้ก็ไม่ต้องเขียนโปรแกรมเพิ่มและ
อันนี้ทดสอบกับ WMServer 3.3
ส่วน linux ผมว่าไม่น่าจะต่างกันในการ config ยังไม่ได้ทดสอบเลยเลยไม่รับประกันนะคับ
ปล. ถ้าใครลงวิธีการแก้ไปแล้วผมต้องขอโทษด้วยถ้าซ้ำนะคับ เนื่องจากไม่มีเวลาค้นหา และก็ถ้าใครอยากรู้ว่าผมศึกษาอะไร ก็มาดูได้ที่ http://blog.thaidevcafe.net แต่อันนี้ผมเขียนไว้จำเองกับให้เพื่อนในกลุ่มดูนะคับ ส่วนบทความนี้เขียนไว้ที่นี้ที่เดียวยังไม่ได้เอาลงเว็บตัวเองด้วยซ้ำ

ท้ายสุด คิดถึงทุกท่านนะคับแล้วจะแวะมาใหม่ (อยากไปงาน thaiadmin จัง แต่งานตรึมอะ )


วิธีที่ 2
Printable Version of Topic
Click here to view this topic in its original format
Narisa.com _ LAMP Development _ [PHP] เรื่องภาษาไทยแสดงเป็น ? จาก DB
Posted by: OwnZaa May 8 2007, 05:19 PM
ตอนนี้ทางเว็บที่เรารับผิดชอบมีปัญหาหนักเลย เซิร์ฟมันเสียมา2เดือนแล้ว พอใช้ได้ database ใหม่ล่าสุดบนเว็บก็สูญหาย ทาง Host ก็เงียบลูกเดียวเลย เราใช้ database ที่ backup ไว้ล่าสุดก่อนเสียอัพขึ้นไปแทน แต่ปัญหาคือภาษาไทยเปลี่ยนเป็น ?????? บนเว็บ นี่ก็อ่านตามเว็บต่างๆหลายที่แล้ว อันไหนที่อ่านแล้วเข้าใจก็จะลองทำตาม แต่จนตอนนี้ก็ยังแก้ปัญหาไม่ได้เลยครับ

เลยอยากสอบถามเพื่อนสมาชิกบอร์ดนี้ว่าใครพอจะแนะนำได้บ้างมั้ย

บน Host ที่เช่า เค้าใช้ phpMyAdmin 2.6.3-pl1
ชุดตัวอักษร (charset) ของ MySQL: UTF-8 Unicode (utf8)

ในหน้าเวบผมจะใส่
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-874">

และไฟล์ที่ใช้ connect database จะมี codeพวกนี้อยู่
//set charactor font thai//
$charset = "SET character_set_results=th-tis-620";
mysql_query($charset);

database ที่ผม backup ไว้เป็นไฟล์ .zip extract ออกมาได้ไฟล์ .sql เปิดอ่านด้วย notepad/editplus อ่านได้ปกติ

ตอนผม sql database ขึ้นไปบนเว็บลองเปลี่ยนไปเปลี่ยนมาหลายแบบแล้ว ก็ไม่เป็นผลสำเร็จเลย

ไม่รู้ว่าดูภาพนี้แล้วเข้าใจเปล่า

ส่วนภาพนี้เป็นภาพหน้าแรกของ phpMyAdmin ที่แสดงให้เห็นว่าทางเซิร์ฟเวอร์เค้าใช้ ชุดตัวอักษร (charset) ของ MySQL: UTF-8 Unicode (utf8) ผมเลยไม่รู้ว่าผมจะเซตค่ารงลูกศรสีแดงเป็นอะไรดีอะครับ T_T


อ้างอิงเนื้อหาที่หาอ่านมาและลองทำตามบางอันแล้ว
http://www.narisa.com/forums/index.php?showtopic=10558&hl=ภาษาไทย
http://www.narisa.com/forums/index.php?showtopic=15955&hl=ภาษาไทย
http://www.narisa.com/forums/index.php?showtopic=14984&hl=ภาษาไทย
http://www.phpconcept.com/content/view/21/28
http://www.expert2you.com/view_article.php?art_id=1397

Posted by: brainwasher May 8 2007, 06:18 PM
ลองดู Link นี้ดูครับ เผื่อเป็นประโยชน์

http://pongsakorn.exteen.com/20060314/mysql-5

Posted by: OwnZaa May 8 2007, 06:28 PM
ขอบคุณมากครับ
ลองทำตามแล้วครับก็ยังไม่ได้เหมือนเดิม

ตอนนี้ผมมองว่าปัญหาอยู่ที่ตัว MySQL บนเซิร์ฟเวอร์ที่เค้าเซตมาเป็น UTF-8 Unicode (utf8) แต่ผมใช้ th-tis-620 ทั้งหมด เลยไม่รู้ว่าจะแก้ไขยังไงได้บ้าง เพราะตัวผมเองก็ยังไม่แน่ใจว่าตกลงปัญหามันใช่ที่ตัวเซิร์ฟเวอร์ที่เซตเป็น UTF-8 Unicode (utf8) หรือเปล่า T__________T เศร้าหนัก ยิ่งไม่ค่อยรู้เรื่องอยู่ด้วยเรื่องพวกนี้อะ

Posted by: thatchai May 8 2007, 11:56 PM
คุณลอง ทำการ insert ภาษาไทย ด้วย sql cilent ว่ามันรับภาษาไทยได้ไหม
เช่น
mysqlfront
heidisql
ฯลฯ

ถ้าได้ คุณต้องลองปรับแต่ง phpmyadmin ดูงับ


Posted by: khao_lek May 9 2007, 09:05 AM
คุณลองเอา
mysql_query("set name='tis620'");
ไปใส่ไว้ในหน้าเว็บของคุณหรือยังครับ
หากเอาไปใส่แล้วยังเป็นเหมือนเดิม
ผมว่าอาจจะเป็นจากการนำข้อมูลเข้าหลังจากลง
ฐานข้อมูลใหม่ แล้วทำให้ข้อมูลที่นำเข้าไปเป็น
"??????" คือผมเคยเป็นนะครับ พอนำเข้าไป
ก็กลายเป็นเครื่องหมายคำถาม ต้องset ให้เป็น
ภาษาที่เราจะใช้งานก่อนที่เราต้องใช้นะครับ


Posted by: nusati May 19 2007, 01:39 PM
มีวิธีแก้อยู่ 2 ทางครับผม คือ ให้คุณเปลี่ยนไปใช้ UTF-8 ซะเลย หรือ ไม่ก็เปลี่ยนใช้ TIS-620 เหมือนเดิมแต่ต้องแก้ไขนิดหน่อยนะครับ

ลองดูตัวอย่างของผมดูก็แล้วกันนะครับ เผื่อจะแก้ปัญหาได้บ้างครับผม

วิธีแรก เปลี่ยนไปใช้เป็น UTF-8 ซะเลยง่ายดีด้วย และอีกอย่างก็รองรับการทำงาน กับ PHP 5 ด้วยเหละ ในส่วนของ HTML

ก็เปลี่ยนตามนี้นะครับ

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">

แล้วโค้ดที่ใช้ติดต่อกับ MySQL ก็เพิ่มตรงนี้เข้าไปเพื่อความอุ่นใจนะครับ

mysql_query("SET NAMES 'UTF-8'")
mysql_query("SET character_set_results='UTF-8'")

ส่วนวิธีที่ 2 นั้นก็ลองทำ

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=tis-620">

แล้วโค้ดที่ใช้ติดต่อกับ MySQL ก็เพิ่มตรงนี้เข้าไปเพื่อความอุ่นใจนะครับ

mysql_query("SET NAMES 'tis-620'")
mysql_query("SET character_set_results='tis-620'")

และถ้ายังไม่ได้อีกก็ อาจจะต้องใส่ข้อมูลลงไปใหม่ นะครับ แต่ถ้าเป็น วิธีแรกน่าจะเวิคร์ ที่สุดลองดูก็แล้วกันนะครับ

Posted by: OwnZaa May 21 2007, 05:37 PM
ได้แล้วครับ ขอบคุณทุกๆคำตอบเลยครับ
ผมใส่
mysql_query("set NAMES tis620");
ลงไปก่อนการ query ทุกๆอันก็ใช้ได้เลย







   
Share
Bookmark.   

  By : JC
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2009-12-07
  Download : Download  แก้ปัญหา Font Thai MySQL (0.0414 MB)
Sponsored Links
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่