![]() ![]() |
Aug 7 2007, 11:49 PM
Post
#1
|
|
|
Newbie ![]() Group: Members Posts: 4 Joined: 7-August 07 Member No.: 13914 |
จริงๆ คอยตามอ่านความรู้ในนี้มานานละ แต่ไม่ได้ mem ซักที วันนี้ได้โอกาส เลย mem ซักหน่อย
หลายท่านเชี่ยวชาญ utf-8 อยู่แล้ว ผ่านเลยครับ QUOTE ก่อนอื่นผมใช้ตามนี้นะครับ Apache 2.2.4 PHP 5.2.3 MySQL 5.0.45 phpMyAdmin-2.10.2 OS:XP SP2 default lang : eng charset และ collation ทุกที่เป็น utf-8 หมดทั้ง db และตาราง ภาษาApache Environment th ก็เข้าเรื่องเลยนะครับ อาจจะตรงกับที่หลายๆคนอยากรู้ เพราะผมอ่านมาจากเว็บนี้ หลายกระทู้แก้ส่วนใหญ่กระทู้จะนานแล้ว แก้ตามแล้วไม่ได้ผล ที่ไม่ได้คงเป็นเพราะเวอร์ชันใหม่กว่าหรือปัจจัยอย่างอื่น ก็ไม่ทราบได้ เลยลองๆดู(ได้มาพักนึงละแต่วันนี้มีเหตุต้องมาโพส) หลายๆคนคงเป็น ตอนจะใช้ utf-8 คงใช้ code ดังนี้ CODE ส่วนของหน้าเว็บ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/> ส่วนติดต่อ mysql_query("SET NAMES 'UTF-8'"); mysql_query("SET character_set_results='UTF-8'"); // <-- จริงๆบรรทัดนี้ไม่ต้องก็ได้ บรรทัดบนรวมอยู่แล้ว เอ๊ะก็ดูจะหมดแล้วนี่หว่า ทั้งหน้าเว็บก็แสดงไทยได้ดี แต่ทำไมเข้าไปดูใน phpmyadmin เป็นแบบนี้ ยึกๆยือๆ แต่ไม่ใช่ ????? นะครับ คนละกรณีกัน(ขอแก้นะเพราะ) เว็บนี้ char ไม่ตรงกันทำให้เพี้ยน แก้ไงดีง่า ไม่รู้จะตั้งไรแล้ว เครียดๆ มาๆ เรามาดูกันว่า ทำไงให้หน้าเว็บและ phpmyadmin อ่านไทยได้สมบูรณ์ โค้ดเจ้ากรรมมันอยู่ที่ CODE UTF8 กับ UTF-8 ไม่เหมือนกันตอนติดต่อ ซึ่ง UTF8 จะอ่านไทยได้ใน phpmyadmin ด้วย แต่ UTF-8 phpmyadmin อ่านไม่ออก ยึกๆยือๆ รู้สึกปัญหานี้หลังๆ คงเคยเจอกันแน่นอน เพื่อความสะดวก ในไฟล์ที่ติดต่อ database เป็นแบบนี้ครับ จะได้เพิ่มแค่ที่เดียว CODE $dbhost = "localhost"; $dbuser = "root"; $dbpass = "xxxx"; $dbname = "yourDB"; $dbc = mysql_connect($dbhost,$dbuser,$dbpass) or die ("Can not connect MySQL"); $dbs = mysql_select_db($dbname) or die ("Can not connect database"); mysql_db_query($dbname,"SET NAMES UTF8");//เพิ่มตรงนี้บรรทัดเดียว สบายแล้ว สากลๆ utf8 หน้าอื่นก็ คิวรี่ปกติเลยครับ ** ถ้าเกิดใช้ utf8 แล้วข้อมูลเก่า utf-8 เอามาใช้ไม่ได้นะครับ บอกก่อน ** แต่ถ้าเปลี่ยนกลับเป็น mysql_db_query($dbname,"SET NAMES UTF-8"); จะอ่านของเก่าได้แต่ phpmyadmin อ่านไม่ออก ทีนี้ว่าในส่วนของ Browser กันบ้าง CODE <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/> มีค่าเท่ากับ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF8"/> คือใน browser ใช้ได้เหมือนกันครับ แต่ตัวบนดูจะเป็นมาตรฐานกว่า ** แนะนำสำหรับคนพึ่งเปลี่ยนมาใช้ PHP5 (มีอีกเยอะเลยที่ยังใช้4อยู่ เพราะห่วงเรื่องภาษา กับ ความเคร่งครัดของ5นี่แหละ) หรือ ใช้ tis-620 กับ php5 ยังไงลองมาใช้ utf-8 ดูสิครับ แล้วคุณ จะหมดปัญหาเรื่องภาษาไปเลย ยืดหยุ่นกว่ามาก เมื่อทำทุกอย่างได้เข้าที่แล้ว ปล.ผิดพลาดขออภัยด้วยละกัน ที่คิดจะเขียนเพราะวันนี้ เถียงกับคนอยู่ว่า เว็บอ่านออกพอใน DB อ่านไม่ออกเป็นปกติ ใครๆก็เป็นกัน ผมก็หงุดหงิดสิ ยิ่งเป็นคนเถียงกับผมมีอาชีพ programer ด้วยน่าจะรู้ code ถ้ามันตรงกันจริง ต้องอ่านได้สิ ทำงานที่ DB บางทีเร็วกว่าเยอะเลย ก็เลยได้เรื่องนี้มาเล่ากันฟัง สมาชิกใหม่ฝากตัวด้วยครับ ไว้ครั้งหน้าถ้ามีเวลา จะมาพูดถึง mod rewrite กันครับ This post has been edited by ZePhy: Aug 9 2007, 10:36 AM |
|
|
|
Aug 8 2007, 12:53 AM
Post
#2
|
|
![]() Star Group: Star Posts: 950 Joined: 7-March 07 From: Bottler Member No.: 11555 |
อืม ไม่เคยรู้มาก่อนเหมือนกันค่ะ และมีปัญหาเรื่องนี้บ่อยๆ ขอบคุณที่มาแชร์นะคะ
ป.ล. จริงๆ กระทู้ของคุณน่าอ่านมากเลยค่ะ มีประโยชน์มากๆ ขอบคุณล่วงหน้าค่ะ This post has been edited by natty: Aug 8 2007, 05:36 AM |
|
|
|
Aug 8 2007, 02:24 AM
Post
#3
|
|
![]() Site Admin ![]() ![]() ![]() ![]() Group: Admin Posts: 2517 Joined: 12-January 05 From: Compe Member No.: 2959 |
จริงๆแล้วปัญหา character encoding เนี่ยนะครับ วิธีแก้มีวิธีเดียว ง่ายๆเลยด้วย คือ "ตั้งแต่ database จนถึงหน้าจอ set ให้เหมือนกันให้หมด" แค่นี้ก็ใช้ได้แล้วครับ
แล้วปัญหานี้มันยากตรงไหน? - มันยากตรงที่ คนถามไม่รู้ว่าต้อง set ที่ไหนบ้าง? ขอแค่ระหว่างทางจาก database ถึงหน้าจอ มีซักที่ที่ set ไม่ถูก แค่นี้มันก็เสียแล้ว จริงไหมครับ? - DBMS คนละยี่ห้อกัน ก็มีวิธี set ต่างๆกัน Web Server ก็เช่นเดียวกัน แล้วสาเหตุจริงๆที่มันยากมากๆๆๆๆๆ คือ... - ท่านๆคนถามทั้งหลาย ไม่เคยจะบอกเลย ว่าตัวเอง set ตรงไหนมาแล้วบ้าง? set อย่างไร? environment ที่ใช้ก็ไม่เคยจะบอก และที่แย่ที่สุด คือพอแก้ได้ ก็หายจ๋อย มีคนน้อยมากๆ ที่จะกลับมาสรุปว่า ปัญหาตัวเองที่เกิดขึ้นนี้ มันเกิดเพราะอะไร? (ซึ่งส่วนใหญ่ก็เป็นความซุ่มซ่ามนั่นแหละครับ ก็เลยอาย ไม่อยากบอก แต่ว่า..) จะมีใครเข้าใจบ้างไหม? ว่าความซุ่มซ่ามของคุณ กับเวลาที่คุณเสียไป (รวมกับเวลาของคนที่มานั่งช่วยคุณแก้ปัญหา) มันสามารถ reuse ได้ ด้วยการกระทำง่ายๆ แค่สรุปปัญหาของตัวเองให้เป็นรูปแบบที่อ่านง่ายๆ เพื่อในอนาคต คนอื่นจะได้มา search ได้ อย่างที่คุณ ZePhy ทำ ทำให้พวกเราได้รู้ว่า QUOTE ถ้าสำหรับ environment แบบข้างล่าง Apache 2.2.4 PHP 5.2.3 MySQL 5.0.45 phpMyAdmin-2.10.2 แล้ว UTF8 กับ UTF-8 ไม่เหมือนกันตอนติดต่อ OS: ??? default language ใน OS: ??? setting เกี่ยวกับภาษาใน phpinfo: ??? charset และ collation ของ database: ??? charset และ collation ของ table: ??? ขอบคุณครับ -/\- ฝากไว้ให้คิด... - ปัญหาเรื่อง encoding เป็นตัวอย่างที่ชัดเจนมากๆ ของหนึ่งในข้อมูลที่ล้ำค่า แต่ถูกทิ้งให้รกจนคุ้ยไม่เจอ - คิดว่า narisa มีคน post วันละกี่ post ครับ? ถ้าเจ้าของกระทู้ไม่ดูแลกระทู้ตัวเอง จะ admin หรือใครก็มาช่วยดูแลไม่ไหวหรอกนะครับ This post has been edited by juacompe: Aug 8 2007, 02:43 AM |
|
|
|
Aug 8 2007, 02:37 AM
Post
#4
|
|
|
Newbie ![]() Group: Members Posts: 4 Joined: 7-August 07 Member No.: 13914 |
^
^ ปัญหาแบบผมน่าจะเจอกับ เวอร์ชันหลังๆนะ ไม่ค่อยแน่ใจเมื่อก่อนใช้ tis-620 ปล. edit ให้แล้วครับ This post has been edited by ZePhy: Aug 8 2007, 02:52 AM |
|
|
|
Aug 8 2007, 02:45 AM
Post
#5
|
|
![]() Site Admin ![]() ![]() ![]() ![]() Group: Admin Posts: 2517 Joined: 12-January 05 From: Compe Member No.: 2959 |
ปล. edit ให้แล้วครับ ขอบคุณอีกทีครับ ^ ^ ปล. - ยินดีต้อนรับสมาชิกใหม่นะครับ ^ ^ - edit ให้แล้วเหมือนกัน ^ ^ - อ้อ อีกอย่างครับ ถ้าคุณ ZePhy สามารถทดสอบได้ ว่าพวกข้อมูล environment ที่หายไป QUOTE OS: ??? default language ใน OS: ??? setting เกี่ยวกับภาษาใน phpinfo: ??? charset และ collation ของ database: ??? charset และ collation ของ table: ??? จะกระทบกับวิธีแก้ปัญหาวิธีนี้ไหม? จะทำให้ solution นี้มีประโยชน์สูงสุดครับ หรือหากคุณ ZePhy ไม่สะดวก ขอเพียงเติมข้อมูลที่ผมสงสัยให้หน่อย จะเป็นความกรุณามาก อย่างน้อย หากท่านอื่นมีปัญหาเช่นเดียวกับคุณ ZePhy จะได้เช็คค่าเหล่านี้ให้ตรงกัน (ข้อมูลเหล่านี้คือข้อมูลที่ผมเชื่อว่า หากเปลี่ยนให้ต่างกันกับเครื่องของคุณ ZePhy แล้ว จะส่งผลกระทบกับวิธีนี้ครับ) This post has been edited by juacompe: Aug 8 2007, 02:52 AM |
|
|
|
Sep 9 2007, 06:24 AM
Post
#6
|
|
|
Newbie ![]() Group: Members Posts: 26 Joined: 19-December 06 Member No.: 10550 |
เคลียร์สุดๆ ครับกระทู้นี้ ตอนนี้ผมหันมาใช้ utf8 ทั้งหมดแล้วครับ
|
|
|
|
Oct 3 2007, 07:03 PM
Post
#7
|
|
|
Newbie ![]() Group: Members Posts: 13 Joined: 4-April 04 Member No.: 1518 |
เอ่อ ขอเสริม condition เพิ่มอีกอัน คือ encoding ของ file คับ
คือถ้าเรา implement บน window default ของ มันจะเปน ansi ซึ่ง อาจจะทำให้มันมีปันหาได้คับ (ดช่น insert ข้อมูล ไม่เข้า) ก้อให้เราเปลี่ยน encoding ให้เปน utf-8 ซะ อาจจะ ทำโดยการเปิด notepad แล้ว save as แล้วก้อเปลี่ยน encoding คับ ปล. ที่ผมใช้นะคับ OS win XP PHP Version 5.2.3 DB : mysql 5.0.37 |
|
|
|
Jan 2 2008, 12:14 PM
Post
#8
|
|
|
Newbie ![]() Group: Members Posts: 2 Joined: 2-January 08 Member No.: 16748 |
ผมเคยใช้ host ฟรีของต่างประเทศแล้วมีปัญหาเรื่องนี้มาก คือ หัดเขียน php ทำกระดานตอบคำถามธรรมดา แต่ไม่รองรับภาษาอังกฤษจนเพื่อนถาม เมิงทำให้ใครเข้าหวะ ผมละฮาเลย
ขอบคุณมากครับ |
|
|
|
Jan 7 2008, 02:38 PM
Post
#9
|
|
|
Newbie ![]() Group: Members Posts: 4 Joined: 7-January 08 Member No.: 16825 |
ขอบคุณมากมากครับกำลังติดเลย
|
|
|
|
Jan 17 2008, 08:33 PM
Post
#10
|
|
|
Newbie ![]() Group: Members Posts: 2 Joined: 17-January 08 Member No.: 17012 |
ผมก็ทำตามคุณ Zephy แล้วน่ะครับแต่ก็ ยังไม่หาย งงมากๆๆ ลอง tis620_thai_ci ตั้งแต่ เซตอัพ แล้วก็ยังเป็น ?????อยู่
ปล.ที่งงคือ ตอนเลือก การเรียงลำดับ และconnection collaction ผมเลือก เป็น utf_8_unicode_ci อ่ะครับ ผิดถูกประการใดขออภัยด้วยน่ะครับ อยากได้คำแนะนำ มือใหม่หัดเขียนครับ นั่งบ้ามา2วันแระครับ ยังแก้ไม่ได้ งานไม่เดินเลยจิงๆๆ ขอความเมตตากรุณาหน่อยครับ |
|
|
|
May 24 2008, 06:12 AM
Post
#11
|
|
|
Newbie ![]() Group: Members Posts: 7 Joined: 21-April 08 Member No.: 18528 |
ไม่เจอกระทู้นี้คงสงสัยไปอีกนานเลยครับ กระจ่างแล้วครับวันนี้ ติดตรง UTF8 กะ UTF-8 นี่เอง บ้าจิง ๆ
ขอบคุณมากครับ |
|
|
|
Jun 23 2009, 03:46 PM
Post
#12
|
|
|
Newbie ![]() Group: Members Posts: 16 Joined: 16-June 09 Member No.: 23265 |
ขอบพระคุณมากครับ งง และ สงสัยมานานละ กระจ่างสักที
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 9th February 2010 - 08:10 PM |