วันจันทร์ที่ 29 ตุลาคม พ.ศ. 2555

[SMF] ข้อควรระวังก่อนการอัพเกรดเวอร์ชั่น


ข้อควรระวังก่อนการอัพเกรดเวอร์ชั่นจาก 1.10++ เป็นเวอร์ชั่น 2.0

วันก่อนนั่งอัพเกรอบอร์ดเวอร์ชั่น  1 เป็นเวอร์ชั่น 2.0.2 มั่นใจเต็มที่เพราะเคยอัพเกรดมาแล้วหลายต่อหลายครั้ง
ครั้งนี้เลยไม่คิดจะbackup ข้อมูลอะไรไว้ก่อนเลย

อัพเกรดครั้งแรก ..ไม่สำเร็จ
ครั้งที่สอง...เหมือนจะสำเร็จ
ครั้งที่สาม..ล้มเหลวเหมือนเดิม
ครั้งนี้ ผมเลยมานั่งหาสาเหตุ ... และก็พบสาเหตุ คือ มีmod บางตัวที่เข้าไปสร้างตารางไว้ในดาต้าเบสและเป็นตารางที่เวลาอัพเกรดแล้ว ไม่ยอมรับการเปลี่ยนแปลง พอระบบมาเจอตารางนี้เข้าก็หยุดทำงาน
ที่ถูกต้องเอา mod ทั้งหมดออกก่อน ก่อนทำการอัพเกรด แต่ครั้งนี้ผมถอดมอดไม่ทันแล้ว ต้องเดินหน้าต่อไป วิธีแก้คือ ลบตารางของมอดเจ้าปัญหาทั้งหมดออก!!

แล้วลองอัพเกรดใหม่..

ครั้งนี้..สำเร็จ แต่..ข้อมูลที่ดึงจากฐานข้อมูลเป็นตัวประหลาดหมดเลย!!

ทั้งๆที่เมนูต่างๆเป็นภาษาไทย แต่กระทู้ทั้งหมดกลายเป็นตัวประหลาด นั่งแก้ทั้งคืนก็ไม่หาย เลยต้องเข้านอนก่อนพรุ่งนี้ค่อยว่ากันใหม่

เช้าต่อมา นำดาต้าเบสข้างบนลงมาข้างล่างและลอง install ลงในเครื่องทุกอย่างปกติ ตัวหนังสือปกติ ..ผมค่อยใจชื้นขึ้นมาหน่อย
แต่ปัญหาที่ตามมาติดๆ  คือ ไม่สามารถเอาฐานข้อมูลจากเครื่องขึ้นไปข้างบนได้เลย!!

วิธีแก้ ดูจะง่อยไปหน่อย แต่เหมือนว่าจะเป็นวิธีสุดท้ายที่เหลืออยู่
ผมนั่ง dump ตารางของ smf ทุกตัว ซึ่งมี 63 ตารางลงมาข้างล่างก่อน แล้วค่อย import เข้าฐานข้อมูลผ่าน PHPMyAdmin ทีละตารางๆ

เรียบร้อยครับ บอร์ดผมมามีชีวิตและมีชาติไทยเหมือนเดิมแล้ว

ข้อควรระวังสำหรับเรื่องนี้ คือ ก่อนอัพเกรด ต้อง
1. เลือกธีมให้เป็นธีมdefault 
2. เลือกภาษาอังกฤษ
3. ถอด mod ทั้งหมดออกก่อน

วันพฤหัสบดีที่ 11 ตุลาคม พ.ศ. 2555

"เว็บดีไซน์" ควรคำนึงอะไรบ้าง??


ไม่ได้เขียนเองครับ ไปเจอบทความของฝรั่งมา เขาเขียนไว้เกี่ยวกับนักออกแบบเว็บว่าควรคำนึงอะไรบ้างในยุคปัจจุบัน ก่อนลงมือทำเว็บ
ม่ะ มาดูกัน


1. Responsive Design
ยุคนี้คงไม่พูดถึงไม่ได้แล้วว่าคนเข้าเว็บของเราจากช่องทางไหนบ้าง มันเข้ามาจากทุกช่องทาง นี่ถ้าตู้เย็นต่ออินเทอร์เนตได้ ก็คงจะมีคนเข้าเว็บเราจากตู้เย็น วิทยุ หรือหม้อหุงข้าว!!
Responsive คือ การออกแบบเว็บไซต์ให้แสดงผลได้ดีในทุกแฟลตฟอร์ม ไม่ว่าจะเป็นสมาร์ทโฟน ไอโฟน หรือเซ็กโฟน (อันหลังนี่ไม่ใช่นะครับ ไม่รู้จะตลกไปไหน)  ต้องให้เว็บดูดีทั้งใน PC , Notebook  และโทรศัพท์มือถือ

2. HTML5 & CSS3
เริ่มไม่ใหม่เท่าไรแล้วสำหรับ HTML5 & CSS3 เมื่อก่อนเรายังกล้าๆกลัว ๆ กั๊กๆ ไม่อยากใช้ เพราะมีบราวเซอร์รุ่นพ่อของพ่อของพ่อของพ่อของพ่อ ฯลฯ อย่างไออี6อยู่  แต่ปัจจุบันบราวเซอร์ที่ตอบสนองทุกท่วงท่าและลีลาอยาง Chrome , Firefox หรือ IE8 มีคนเริ่มใช้กันเยอะขึ้นมาก และทางเจ้าของเว็บไซต์ก็ไม่ค่อยแคร์ด้วยว่ายูเซอร์จะใช้ ie6 หรือไม่? ประมาณว่า ถ้ามึงจะเข้าเว็บกู อย่ามาด้วยie6  จะเข้าคฤหาสน์แต่ดันปั่นจักรยานมาใครจะให้เข้า!!

3. Minimalistic Design
ไปเจอคำจำกัดความของคำนี้ คือ "เรียบง่ายแต่ได้ประโยชน์มาก" ว่ากันว่าคนที่เข้ามาในเว็บเรานั้น เขาต้องการอ่านข้อมูลแบบสบายๆ ไม่ถูกบีบด้วยพื้นที่อันคับแคบ หรือดีไซน์ที่จัดจ้านจนอ่านลำบาก ดังนั้น การออกแบบที่เรียบง่า่ย แต่แฝงด้วยกึ๋นส์ จึงเป็นคำตอบสำหรับเว็บในปัจจุบัน

4. Content First Approach
เว็บในปัจจุับันเริ่มแข่งขันกันที่ content หรือเนื้อหาเป็นหลัก ดังนั้น เมื่อยูเซอร์คลิกเข้าเว็บมาแล้ว ต้องเสนอเนื้อหาให้อยู่ในระดับสายตาที่เห็นก่อน โดยไม่ต้องลากสโคลบาร์ลงล่าง หรือปิดโฆษณาก่อนถึงจะเห็นเนื้อหา มันจะทำให้หงุดหงิดใจเปล่าๆ


5. Rich Typography
การเลือกใช้ฟ้อนท์ ขนาด และสีที่อ่านง่ายเหมาะสมกับเว็บ ประเภทพื้นสีแดง ตัวหนังสือสีเหลือง ไม่ไหวนะครับ ตาจะบอด


6. Social Media Friendly
ทุกวันนี้คนเป็นประเภทพวกขี้อวด ขี้แบ่ง เจออะไรดีๆ (หรือไม่ดี) ไม่กดlike ก็ตกกด share ดังนั้น หาปุ่ม like หรือปุ่ม share ให้เขาหน่อย เผื่อเขาแบ่งไปยังเพื่อนๆของเขาแล้ว เพื่อนๆพวกนั้นจะช่วยแบ่งต่อไปอย่างไม่รู้จักสิ้น

ต้องขออภัยคนที่ต้องการเนื้อหาสาระแน่นๆนะครับ ผมเอาแค่หัวข้อของฝรั่งมา ส่วนรายละเอียดสรุปเอามาเีขียนใหม่ เพราะถ้าขืนแปลตามฝรั่งเขา คงออกทะเลจมน้ำตายไปแล้วครับ

อย่างไรก็ดี 6 ข้อนี้ ก็ควรระลึกถึงเสมอเมื่อจะออกแบบเว็บนะครับ

คลิกเข้าไปดูต้นฉบับเขาได้ที่ http://www.cssreflex.com/2012/08/consider-these-web-design-trends-in-your-next-project.html/

วันพุธที่ 10 ตุลาคม พ.ศ. 2555

ปัญหา fgetcsv กับ ภาษาไทย

เขียนโปรแกรมให้เขาupload ไฟล์ .csv แล้วบันทึกลง MySQL  ทดสอบในเครื่องก็ได้ทุกอย่าง แต่พอเอาขึ้นเซิฟเวอร์ ปรากฏว่าฟิลด์ที่เป็นภาษาไทย ใช้ไม่ได้เลย  งัดมาสารพัดวิธี ทั้ง iconv ทั้งแปลงไฟล์ให้เป็น utf-8 ก็ยังไม่ได้ สุดท้ายได้คำตอบจากคุณ เล็กน้ำ http://www.leknarm.com/2010/03/fgetcsv-php.html  ซึ่งมีใจความว่า..

เนื่องจากได้เขียน php โดยอ่านไฟล์จากไฟล์ csv ซึ่งมีข้อความภาษาไทยอยู่ โดยเมื่อทดสอบบนเครื่องตัวเองนั้นไม่มีปัญหาใดๆ ทั้งสิ้นแต่เมื่อ deploy ขึ้นไปบน server ดันเกิดปัญหาขึ้นโดย ภาษาไทยนั้นไม่แสดงผล

จากที่ลอง research ดูก็ไล่ไปเรื่อยๆ ตั้งแต่ check ว่าเปิดไฟล์ได้ไหม echo ภาษาไทยได้ไหม และก็มาเจอประเด็นที่ fgetcsv

จากที่อ่านใน http://php.net/manual/en/function.fgetcsv.php ซึ่งมีเขียนไว้ว่า

Note: Locale setting is taken into account by this function. If LANG is e.g. en_US.UTF-8, files in one-byte encoding are read wrong by this function.

แสดงว่าเราต้องทำการ set locale ให้กับ apache การแสดงผลจึงจะถูกต้องโดยใช้คำสั่ง


setlocale ( LC_ALL, 'en_US.UTF-8' );

แค่นี้ก้จะทำให้การ get csv ที่มีภาษาไทยภายในไฟล์แสดงผลได้ถูกต้องแล้วครับ

..

แต่มันก็ยังไม่หาย 100% คือเป็นภาษาไทยครับ แต่ทุกฟิลด์ที่เป็นภาษาไทย คำแรกจะหายไป เลยลองแก้จาก
setlocale ( LC_ALL, 'en_US.UTF-8' ); เป็น setlocale ( LC_ALL, 'Thai' );

ปรากฏว่าใช้ได้ครับ ..

ในวันที่ "แกมี" มา

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

คำถามไหนที่เห็นว่าเป็นประโยชน์กับคนอื่นๆด้วย ผมจะเขียนเป็นบทความแทน

วันนี้มาสั้นๆ ลากันด้วยภาพขำๆ ภาพนี้ละกันครับ

ป.ล. กลัวเนื้อหาจะไม่เข้ากับชื่อ ขอพูดถึง "แกมี" สักหน่อย เพราะตอนนี้กำลังหวั่นเกรงว่าเจ้าแกมีจะเข้าประเทศ หลังจาก "แกมี" ผ่านมาแว่บๆ มีผลทำให้ฝนตกเกือบทุกวัน แต่ตอนนี้ "แกมี" เริ่มจากไปแล้วละ ทุกอย่างกำลังจะกลับสู่ภาวะปกติ โชคดีนะ "แกมี" แต่วันหลังไม่ต้องมา

กูเหนื่อยรถติด ~