Welcome, Guest. Please login or register.
Did you miss your activation email?


Login with username, password and session length

Search

 
Advanced search

28467 Posts in 7971 Topics- by 10279 Members - Latest Member: thamwebsite
Opensource CMS Community ForumMambo Mambo Installation (Moderators: i_am_keng, goangle)อยากเปลี่ยนฐานข้อมูลภาษาจาก tis620 เป็น utf8
Pages: [1] 2   Go Down
Print
Author Topic: อยากเปลี่ยนฐานข้อมูลภาษาจาก tis620 เป็น utf8  (Read 19268 times)
tu111
GURU
*

Karma: 0
Offline Offline

Posts: 273



WWW
« on: September 19, 2007, 08:16:50 pm »

ตอนนี้ใช้ mambo4.6.2 และฐานข้อมูลภาษาเป็น tis620 อยากเปลี่ยนไปใช้เป็น utf8 ไม่ทราบว่ามีขั้นตอนยังไงบ้างครับ
Logged

รู้อยู่ไม่กี่เรื่อง
www.acnethai.com
avalance
เทพแห่งบอร์ด
*

Karma: 2
Offline Offline

Posts: 523


รับทำเว็บด้วยจูมล่านะครับ

pcnott@live.com
WWW
« Reply #1 on: September 25, 2007, 08:53:18 am »

รบกวนอ่านบทความเหล่านี้นะครับ เพราะผมเองก็ยังเคยมีผิดพลาดบ้าง คงไม่กล้าให้คำแนะนำแบบเต็มปาก

แต่ถ้าหากอ่านบทความแล้วสงสัยตรงไหน ถามได้นะครับ
http://www.freemac.net/modules.php?name=Content&pa=showpage&pid=118 << การแปลงฐานข้อมูล tis-620 เป็น UTF-8

และเมื่อส่วนมาก แปลงกันแล้วจะเกิดปัญหาครับ

การแก้ปัญหา การแสดงผล ภาษาไทย MySql เป็น ??

สำหรับ MySql เวอร์ชั่น ตั้ง แต่ 4.1 ขึ้นมา เนื่องจาก ทาง MySql ได้เปลี่ยนรูปแบบ การ เก็บ ข้อมูล ที่ เป็นอักขระ ใหม่ จาก เวอร์ชั่นเดิม ทำให้ การเก็บและ แสดงผล ของ บางภาษา เช่น thai เป็น Huh
เราสามารถ แสดง Character Set Support ได้ด้วย
SHOW VARIABLES LIKE 'character%';
วิธี การ แก้คือ
1.กลับไปใช้ เวอร์ชั่น 4.0 หรือน้อย กว่า แนะนำให้ใช้ 4.0.27
2.ใช้ Character Set เป็น utf-8
3.เพิ่ม คำสั่งนี้ในขั้นตอนการติดต่อ ฐานข้อมูล
$charset = "SET character_set_results=tis620";
mysql_query($charset) or die('Invalid query: ' . mysql_error());
จาก http://www.freemac.net



ความแตกต่างระหว่าง UTF-8 กับ TIS-620

หลายคนคงสงสัยว่ามันจะมีชุดตัวหนังสือ UTF-8 (Unicode Transformation Format) ไปทำไม เราก็ยังใช้ TIS-620 ดีอยู่แล้วไม่เน่าไม่เสีย แต่เนื่องจากตอนนี้CMS หลายๆค่ายหันมาใช้(บังคับใช้) UTF-8 ของ Unicode (ผมเองก็ใช้ UTF-8) แล้วจะถ้าคิดใช้โปรแกรมใหม่ๆ CMS ตัวใหม่ๆ ในอนาคตทั้งหมดจะสนับสนุน UTF-8 อย่างเดียว เช่น AppServ เวอร์ชั่นออกมาใหม่จะเป็น UTF-8 MAMBO 4.6 , Joomla! 1.5 ก็จะใช้ชุด(บังคับ) UTF-8 เท่านั้น

UTF-8 เป็นที่มิยมมากเพียงแต่เราไม่ค่อยได้เห็นมันจะๆ จริงๆแล้ว UTF-8 มันอยู่รอบๆเรวเนี้ยครับ อย่างเช่น ชื่อไฟล์ภาษาไทยที่อยู่บน Windows XP นั้นก็เป็น UTF-8 แต่เรายังไม่รู้ตัว, Google (search engine) ก็ทำงานแบบ UTF-8 โดยที่เราไม่รู้ตัว อุปกรณ์ต่างๆ ไม่ว่าจะเป็นมือถือที่เป็น OS Symbian, Pocket PC เค้าก็ใช้ UTF-8 กันแทบทั้งสิ้น เมื่อเห็นว่าอนาคตคงจะได้ใช้โปรแกรม ที่มันสนับสนุน ต่อไปนี้ถึงคราวสิ้นยุคทองของชุดตัวหนังสือ TIS-620 แล้ว >__<

ความแตกต่างของ UTF-8 กับ TIS-620 มันอยู่ตรงใหน? ชุดตัวหนังสือ UTF-8 เนี้ยสามารถใช้กับภาษาอะไรก็ได้ โดยเราไม่จำเป็นต้องเปลี่ยน encoding เลย ถ้า website ของคุณมี 2 ภาษา มันก็โชว์ทั้ง 2 ภาษา (Multi language) ระบบ UTF-8 จะเก็บข้อมูล 1 - 4 ไบต์ต่อ 1 ตัวอักษร รายละเอียดอื่นๆ

อ่านเพื่มเติมที่นี่ครับ http://en.wikipedia.org/wiki/UTF-8

แต่ว่าถ้ามองในแง่ลบ UTF-8 ก็ยังไม่ค่อยมีความจำเป็นเท่าไหร่นัก และยังเปลืองน้อยที่เก็บข้อมูลกว่าของเดิมถึง 3-4เท่า เพราะ แต่ละตัวจะประกอบไปด้วยชุด ? นะ ? แบบนี้ซึ่ง TIS-620 จะเขียนได้ว่า ? นะ ? จะเห็นได้ว่าพื้นที่ในการเก็บข้อมูล ต้องเยอะขึ้นตามไปด้วย แต่ก็มีข้อดีอยู่บ้างในเรื่องการรองรับหลายภาษา (muli-language) และเราสามารถแปลงตัวอักษรจากแบบ UTF-8 มาเป็นแบบ TIS-620 โดยสามารถใช้ฟังก์ชัน iconv ครับ ใครอยากรู้ลองเข้าไปดูคำสั่งนี้แบบเต็มๆได้ที่นี่ครับ http://www.php.net/manual/en/function.iconv.php ส่วนถ้าต้องการ convert จาก UTF-8 มาเป็น TIS-620 ก็ใช้ประมาณนี้ครับ

echo iconv(?UTF-8, ?TIS-620?, ?helloสวัสดีครับ?); หรือถ้าจาก TIS-620 มาเป็น UTF-8 ก็ประมาณนี้ครับ

echo iconv( ?TIS-620?, ?UTF-8?, ?helloสวัสดีครับ?); ซึ่งคำสั่งนี้ถูกหยิบยืมมาจาก library บน unix ที่มีชื่อว่า GNU libiconv ครับ ไปดูรายละเอียดได้ที่นี่ http://www.gnu.org/software/libiconv/ แต่ก่อนที่จะใช้คำสั่งนี้ได้ ต้องไป config ในไฟล์ php.ini โดยให้เอา comment บรรทัดนี้ออกครับ extension=php_iconv.dll และให้เอาไฟล์ php_iconv.dll ไปใส่ไว้ที่ c:\windows\system32 ด้วยครับ แล้ว restart apache ใหม่ ก็จะสามารถใช้ได้ครับ

ฟังก์ชัน iconv ใช้ด้กับ PHP5 เท่านั้นนะครับ

ข้อดีของ UTF-8

รองรับได้หลายภาษา แน่นอนที่สุดสำหรับผมเลือกใช้เพราะสาเหตุนี้
ภาษาโปรแกรมมิ่งทั้งหลายรองรับ UTF-8
เข้ากันได้ดีกับรหัส ASCII
การแปลงเป็น Charset ชนิดอื่นไม่ยุ่งยากโดยใช้ ICONV
สามารถเรียงลำดับอักษรภาษาไทยได้ 100% ไม่มีผิดเพี้ยน
ข้อเสียของ UTF-8

มีปัญหาการทำงานกับฟังก์ชั่นในบางภาษา
ภาษาไทยไม่ได้มีเพียงแค่ TIS-620 (มีทั้ง CP874, MacThai)
อ้างอิงจาก http://www.gnu.org/software/libiconv/
เสียเวลาในการเขียนโปรแกรมแปลงฐานข้อมูล และไฟล์ให้เป็น UTF-8
การออกแบบฐานข้อมูล (Field) ต้องไม่ยึดติดกับความกว้างตัวอักษรแบบเดิม เพราะ UTF-8 จะเก็บเป็น Byteสรุปคือต้องขยายความกว้าง Field เกือบทุก Field ที่เป็น Varchar เพื่อรองรับ UTF-8
ที่มา - Meeh  จาก SiamGeek.com


แนะนำให้ backup SQL ไว้ก่อนนะครับ

-------------------------- เพิ่มเติม 1 กค. 2551--------------------------------

เริ่มต้นกับ UTF-8 พร้อมโปรแกรมแปลง TIS-620 เป็น UTF-8
Posted on Saturday, October 07 @ 15:38:10 ICT by apples

UTF-8  คือ character ที่สามารถรองรับการทำงานระบบหลายภาษา (Multi language)
   ระบบ UTF-8 จะเก็บข้อมูล 1 - 4 ไบต์ต่อ 1 ตัวอักษร รายละเอียดอื่นๆ แนะนำ
http://en.wikipedia.org/wiki/UTF-8 ชัดเจนกว่าครับ


สำหรับคนไทยถึงเวลาแล้วหรือยังที่จะเปลี่ยนจาก TIS-620 เป็น UTF-8 ?
   ในเรื่องนี้ก็คงต้องแล้วแต่ความคิดส่วนตัวของแต่ละบุคคลครับ ว่าสามารถยอมรับระบบใหม่ได้ไหม
แต่ในปัจจุบันสำหรับครับคิดผมก็คือ ถึงเวลาแล้วสำหรับ UTF-8 การที่เราจะรออนาคตให้มีการเปลี่ยนแปลง
แล้วเราจะเปลี่ยนตาม ตัวเราเองน่าจะเป็นผู้กำหนดอนาคตเอง มากกว่าให้คนอื่นมากำหนดอนาคตให้กับเรา
   ในอดีตภาษาไทยที่มาก่อนรหัส TIS-620 (รหัสสมอ.) นั่นก็คือรหัสเกษตร สำหรับใครที่ใช้ DOS สมัยก่อน
คงจะรู้จักกันดี ในอดีตเราก็ยังเปลี่ยนแปลงจากรหัสเกษตรเป็น TIS-620 ได้ การที่เราจะเปลี่ยนแปลง
ปัจจุบัน UTF-8 ใกล้ชิดกับตัวเรามากที่สุด โดยที่เราไม่รู้ตัว ยกตัวอย่างเช่น ชื่อไฟล์ภาษาไทยที่อยู่บน
Windows XP นั้นก็เป็น UTF-8 อยู่แล้ว แต่เรายังไม่รู้ตัว, Google ก็ทำงานแบบ UTF-8 โดยที่เราไม่รู้ตัว
บางคนที่ใช้ Gmail อาจโทษว่า "Gmail ไม่รองรับภาษาไทย ส่งให้คนอื่นอ่านแล้วอ่านไม่ออก" ตรงนี้บอกได้เลยครับว่า
ไม่ต้องโทษ Gmail หรอกครับ ต้องโทษระบบอีเมล์ที่ไม่ยอมทำความรู้จักกับ UTF-8 น่าจะถูกต้องกว่า
อุปกรณ์ต่างๆ ไม่ว่าจะเป็นมือถือที่เป็น OS Symbian, Pocket PC เค้าก็ใช้ UTF-8 กันแทบทั้งสิ้น
ตอนนี้มีเพียงคำถามเดียวครับว่า เรายังจะยึดติดอยู่ที่ TIS-620 ไปตลอดหรือ ?
หากใครยังชั่งใจอยู่ในเวลานี้ ก็ศึกษาข้อมูลเพิ่มเติมได้ก่อนที่จะเปลี่ยนแปลงจริงๆ จังๆ อีกที


เริ่มต้นกับ UTF-8
   มีคำถามมากมายเกี่ยวกับ UTF-8 ผมขอแยกเป็นข้อๆ ในส่วนของข้อดีและข้อเสีย
แล้วลองพิจารณาดูนะครับว่า ขณะนี้เราพร้อมแล้วหรือยังกับ UTF-8

ข้อดีของ UTF-8 กับ TIS-620
      - รองรับได้หลายภาษา แน่นอนที่สุดสำหรับผมเลือกใช้เพราะสาเหตุนี้
      - ภาษาโปรแกรมมิ่งทั้งหลายรองรับ UTF-8
      - เข้ากันได้ดีกับรหัส ASCII
      - การแปลงเป็น Charset ชนิดอื่นไม่ยุ่งยากโดยใช้ ICONV
      - สามารถเรียงลำดับอักษรภาษาไทยได้ 100% ไม่มีผิดเพี้ยน

ข้อเสียของ UTF-8 กับ TIS-620
      - มีปัญหาการทำงานกับฟังก์ชั่นในบางภาษา
      - ภาษาไทยไม่ได้มีเพียงแค่ TIS-620 (มีทั้ง CP874, MacThai)
        อ้างอิงจาก http://www.gnu.org/software/libiconv/
      - เสียเวลาในการเขียนโปรแกรมแปลงฐานข้อมูล และไฟล์ให้เป็น UTF-8
      - การออกแบบฐานข้อมูล (Field) ต้องไม่ยึดติดกับความกว้างตัวอักษรแบบเดิม เพราะ UTF-8 จะเก็บเป็น Byte
        สรุปคือต้องขยายความกว้าง Field เกือบทุก Field ที่เป็น Varchar เพื่อรองรับ UTF-8


ปัญหาสำหรับนักพัฒนาภาษา PHP กับ UTF-8
   การปรับมาใช้ UTF-8 นั้นก็เป็นปัญหาสำหรับโปรแกรมเมอร์เหมือนกัน โดยตัวอย่างที่ผมจะอธิบายต่อไปนี้
ก็ขออ้างอิงถึงภาษา PHP ครับ เพราะปัจจุบันผมก็เขียนโปรแกรมกับภาษานี้อยู่ ซึ่งปัญหาหลักๆ เกิดจาก
การเขียนโปรแกรมแล้วเลือกใช้บางฟังก์ชันไม่ได้ หรือต้องปรับแก้โปรแกรมหรือใช้ฟังก์ชันที่รองรับ UTF-8

ฟังก์ชันที่มีปัญหากับ UTF-8 ในภาษา PHP อ่านรายละเอียดเพิ่มเติมได้ที่ http://www.phpwact.org/php/i18n/utf-8
โดยแต่ละฟังก์ชันจะมีการแจกแจงผลกระทบตั้งแต่ระดับ สูง - กลาง - ต่ำ ละเอียดดีครับ


พร้อมแล้วหรือยังที่จะแปลงระบบโปรแกรมและฐานข้อมูลเป็น UTF-8 ?
   ข้อนี้ต้องถามตัวเองแล้วครับว่าพร้อมแล้วหรือยัง ส่วนผมพร้อมแล้วและก็ทำไปแล้ว
ท่องไว้ครับคำนี้นะ "อย่ายึดติดกับระบบเดิมๆ" ปัญหาต่างๆ เหล่านี้สามารถแก้ไขได้ครับ
เพราะว่าบางฟังก์ชันเราก็เขียนขึ้นมาใหม่ แทนที่ฟังก์ชันเดิมที่ไม่รองรับ UTF-8
ว่าแล้วก็แจกโปรแกรมแปลงเลยครับ โดยในโปรแกรมจะมีตัวอย่างฟังก์ชัน substr_utf8 ที่เขียนขึ้น
โดยสามารถรองรับ UTF-8 แทนฟังก์ชัน substr เดิมที่มีอยู่


โปรแกรมแปลงระบบเป็น UTF-8
    1. โปรแกรมแปลงฐานข้อมูล MySQL จาก TIS-620, CP874, MacThai เป็น UTF-8
    2. โปรแกรมแปลงไฟล์ จาก TIS-620,CP874,MacThai เป็น UTF-8

ดาวน์โหลดได้จาก :  http://prdownloads.sourceforge.net/appserv/appserv-Tis2utf8-1.0.zip?download


** หมายเหตุ **
    โปรแกรมที่แจกไม่ใช่ Freeware ไม่ใช่ Shareware แต่เป็น Open Source นะครับ
สงวนลิขสิทธิ์ในรูปแบบ GPL สรุปคือเอาไปใช้กันได้เลยครับไม่ต้องคิดมาก
และที่สำคัญโปรแกรมอาจจะมี Bug บ้าง ใครแก้ Bug แล้วกรุณาส่งกลับมาด้วยครับ
เผื่อจะได้แจกจ่ายให้กับคนอื่นๆ อีกต่อไปครับ ตอนแก้ใส่ Credit มาด้วยนะครับว่าแก้ตรงไหน
โปรแกรมนี้ สามารถแปลงจาก Charset ไหนๆ ก็ได้ในโลก ไปเป็น Charset ไหนๆ ก็ได้อีก
ทำได้โดยแก้ไข Source Code กันเอาเองนะครับ ถ้าอยากแปลงเป็นอย่างอื่น
วิธีการใช้งานต่างๆ มีอยู่ในไฟล์โปรแกรมแล้วครับลองเปิดดู

ข้อมูลอ้างอิง TIS-620
- http://www.nectec.or.th/it-standards/std620/std620.htm
- http://software.thai.net/tis-620/index.html
- http://linux.thai.net/~ott/docs/tis-620.html
- http://en.wikipedia.org/wiki/TIS-620

คราวหน้าจะมาพูดถึงเรื่อง
- ภาษาไทย TIS-620 มีปัญหากับ MySQL 4.1.x, 5.x.x จริงหรือ ? คงคาใจใครหลายคน ผมตอบให้ก่อน ไม่จริง
- การปรับตัวใช้ภาษาไทยใน MySQL version ใหม่ๆ



ที่มาจาก http://www.appservnetwork.com/modules.php?name=News&file=article&sid=3
โดยคุณ  apples

-----------------------อันนี้ผม Copy เขามาให้อ่านอีกทีนะครับ--------------------------
« Last Edit: July 01, 2008, 03:05:53 pm by avalance » Logged

goangle
Dev
Moderator
เทพแห่งบอร์ด
*

Karma: 1
Offline Offline

Posts: 1344


Teerapong S.

goangle@paradoxtech.cc
WWW
« Reply #2 on: September 25, 2007, 02:19:08 pm »

กระทู้ดีมีสาระ อย่างี้ต้องปักๆๆๆ  Cool
Logged

Teerapong Singthong (goangle)
Moderator : Mambo.or.th
tu111
GURU
*

Karma: 0
Offline Offline

Posts: 273



WWW
« Reply #3 on: September 25, 2007, 04:17:33 pm »

ขอบคุณคุณ avalance มากละเอียดมากครับแต่ผมดูผิดไปตอนนี้ที่ mambo เป็น utf8 แล้วแต่ที่ smf เป็น latin_1_swedish_ci ถ้าเราจะเปลี่ยนเป็น utf8 ไม่รู้หลักการเดียวกันหรือเปล่าครับ
Logged

รู้อยู่ไม่กี่เรื่อง
www.acnethai.com
tu111
GURU
*

Karma: 0
Offline Offline

Posts: 273



WWW
« Reply #4 on: September 25, 2007, 04:18:49 pm »

นี่ครับรูปฐานข้อมูลตอนนี้
Logged

รู้อยู่ไม่กี่เรื่อง
www.acnethai.com
tu111
GURU
*

Karma: 0
Offline Offline

Posts: 273



WWW
« Reply #5 on: September 27, 2007, 08:51:19 pm »

ในส่วนของ smf เราสามารถเข้าไปที่เมนูบำรุงรักษาและเลือกแปลงฐานข้อมูลเป็น utf8 ได้เลย  Smiley เข้ามาบอกเผื่อใครบางคนอยากเปลี่ยนแล้วยังไม่รู้ครับ
Logged

รู้อยู่ไม่กี่เรื่อง
www.acnethai.com
ลุงทิ้ว
มือใหม่หัดโพส
*

Karma: 0
Offline Offline

Posts: 4



« Reply #6 on: October 26, 2007, 03:43:07 am »

เพิ่มเติมข้อมูลเกี่ยวกับทิศทางภาษาไทยว่าจะไปในทิศทางใด

อย่างที่ข้อมูลของ avalance ได้ให้ถูกต้องหมดในเชิงเทคนิคครับ

ในการใช้งานจริง ปัญหาการใช้ UTF-8 ปัจจุบัน (ปี2550)ในด้านงานราชการมีไม่ใช่น้อย
TOR ของโครงการในราชการ เขียนการรองรับภาษาไทย เป็นไปตาม สมอ. ซึ่งยังต้องเป็น TIS-620

ปัจจุบัน  IBM ได้ออกโปรแกรมต่างๆสนับสนุนการทำงานเป็น UTF-8 และมีปัญหากับ TIS-620 ในภาคแสดงผลสาหัสพอสมควร โดยเฉพาะ Editor บน Content Management

MySQL ก็ประกาศแล้วว่า อีกไม่เกิน 2 ปี การสนับสนุน TIS-620 นั้นสิ้นสุดลง

เรียกว่า ทิศทางทั้งหมดไปยัง UTF-8 หมดแล้ว แต่ TOR ในราชการยังอยู่กับ TIS-620
ที่เห็นว่า หลายหน่วยงานราชการใช้เป็น UTF-8 ไปแล้วนั้น ถ้าเป็นการจ้างเขียนโปรแกรม เป็นการส่งงานที่ผิดสเปคทั้งหมดครับ ถ้าไม่มีการแก้ไขสัญญาแนบท้าย เพียงแต่กรรมการตรวจรับดูสิ่งเหล่านี้ไม่ออก เห็นว่า เป็นภาษาไทย อ่านออกเขียนได้ ก็เซ็นรับกันไปแล้ว

ก็ฝากๆบอกเพื่อนๆนักพัฒนาให้ระมัดระวังในเรื่องเหล่านี้ด้วยครับ

ปัญหาข้อเสียของการภาษาไทย UTF-8 นั้น คือ นักพัฒนาต้องเผื่อด้วยสูตร x3 สำหรับ field ข้อมูลจากเดิมของ TIS-620 หรือ ASCII ธรรมดา ถ้าต้องการ convert มันโตขึ้นมาก และจะทำให้ Content เดิมขาดหายไป ซึ่งถ้าไม่รู้มาก่อน จะคิดว่า โปรแกรมผิด

เทคนิคง่ายๆ นอกจากใช้โปรแกรม Convert ภาษาไทยจาก TIS620 ไปเป็น UTF-8 ที่ผมเจอโดยบังเอิญ ในขณะที่ใช้ MySQL5 คือ ผม Port ผ่าน Webmin เวอร์ชั่นปัจจุบัน มันจะ Convert ไปให้เอง เลยหันมาใช้ Joomla หรือ Mambo ไทย UTF-8 ได้อย่างสบายๆ แต่ถ้าผมจะใช้ TIS-620 บน MySQL5 ผมจะใช้ phpMyAdmin Import เข้าไป

ผมสนับสนุนและให้คำแนะนำหน่วยงานราชการในการใช้ UTF-8 เต็มที่ครับ แต่ไม่มีใครกล้าเขียนการสนับสนุนภาษาไทยเป็น UTF-8 ใน TOR แม้แต่รายเดียว โครงการที่ผมดูแลทุกโครงการ ผมขอแก้สัญญาแนบท้ายเป็น UTF-8 ในเรื่องนี้ เพราะทิศทางการพัฒนามันไปแบบนั้นหมด จะมารอ สมอ. ออกมาตรฐานรับรอง UTF-8 ก็อีกนาน แต่เราจริงๆสามารถอ้างถึงมาตรฐานต่างประเทศไทย ส่วนที่มักค้าน ก็เรื่องการเพิ่มพื้นที่การเก็บข้อมูลของ UTF-8 บน Database นี่ครับ เป็นเหตุให้หน่วยงานไม่กล้ากัน แต่ถ้าคิดให้ถูกต้อง ทั่วโลกเขาไปกันหมดแล้ว โครงการแต่ละโครงการกว่าจะทำออกมาใช้เวลาขอโครงการปีสองปี ทำอีกสองปี ใช้อีกสามถึงห้าปี ถ้าไม่รองรับ UTF-8 อีกหน่อยจะไม่มี Patch ให้ใช้ และถ้าเริ่มโครงการใหม่หรือระยะสองในอีกสามสี่ปีข้างหน้า ต้องเพิ่มค่าใช้จ่ายในการ convert และ ตรวจสอบให้ถูกต้องอีก อย่าลืมน่ะครับ ต้องคูณด้วยจำนวนข้อมูลที่จะเพิ่มในอีกสามปีข้างหน้า เป็นต้นทุนของโครงการใหม่ที่แพงกว่าเปลืองเนื้อที่การเก็บที่เพิ่มขึ้นเป็นอย่างมากๆ

ใครอยากหากินเปล่าในระดับล้านบาทต่อโครงการในสามสี่ปีข้างหน้า แค่รับจ้าง convert ภาษาไทยจาก tis620 ไปเป็น UTF-8 หรือ UTF-16 ก็เก็บโปรแกรม Convert เก่าๆตอนนี้ กับ tool ที่convert ดีๆตอนนี้ไว้น่ะครับ หาเงินได้แน่

หน่วยงานผมมีระบบเก่า6ปีที่แล้ว เป็น IBM EBSIDIC 7bits มีฐานข้อมูลแค่สี่หมื่นกว่าเรคคอรท์ รวมทั้งฐานข้อมูลก็แค่สองกิ๊กกว่าๆ ค่า Convert ล้านเศษ ค่า Port ลงตัวใหม่อีกล้านเศษ เป็น TIS-620 ผมเลยขอให้เป็น UTF-8 ไปเลย vendorของโครงการเป็นคนจ่ายในส่วนนี้ อย่าคิดว่าแพงน่ะครับ ถ้าส่งไป Convert ในต่างประเทศยิ่งแพงกว่านี้ใหญ่ แถมต้องส่งกลับเมืองไทยทำการตรวจสอบอีก
Logged

คนแก่เล่นเน็ต อย่าถือสาเวลาอ่าน
i_am_keng
สิ่งที่หาไม่ได้ง่าย ๆ คือโอกาสทองของชีวิต
Global Moderator
เทพแห่งบอร์ด
*

Karma: 3
Offline Offline

Posts: 865


sc450617@at_hotmail_dot_com.com
WWW
« Reply #7 on: February 08, 2008, 11:04:55 am »

Quote
การแปลงเป็น Charset ชนิดอื่นไม่ยุ่งยากโดยใช้ ICONV
ขออนุญาตแนะนำครับ เนื่องด้วยจากประสบการที่เขียนโปรแกรมมาบ้างตามวาระของผมและจากโอกาสที่ได้ร่วมทีม core ของแมมโบ้ ผมได้รับมอบหมายให้ทำเมนูแปลภาษาครับ ก็ได้ประสบปัญหาเกี่ยวกับ iconv มากมาย ทั้งรองรับไม่ครบทุกภาษาที่ mambo หรือ joomla support และบั๊กในการแปลงแต่ละภาษาเองด้วย ผมจึงได้เขียนฟังก์ชั่นขึ้นมาใหม่เป็นภาษา php ข้อดีก็คือเมื่อเจอบั๊กสามารถแก้ได้ทันทีเพราะมันเป็นโค้ด php ไม่ใช่ library DLL ซึ่งถ้าจะแก้โค้ดก็ต้องย้อนกลับไปแก้โค้ดต้นฉบับวุ่นวาย กว่าจะคอมไพล์ และกว่าจะนำตัว dll มาใช้อีก ยุ่งยากมากๆครับ ถึงแม้ว่ามันจะเป็น open source ก็ตาม นี่จึงเป็นสาเหตุนึงที่ผมทำตัวนี้ขึ้นมาครับ ถ้ายังไงช่วยรบกวนนำไปทดสอบกันด้วยนะครับ ดีไม่ดียังไงแนะนำได้นะครับ เพื่อนำไปปรับปรุงครับ
สามารถดาวน์โหลดได้จากที่นี่ครับ http://sourceforge.net/projects/kconvert
« Last Edit: February 08, 2008, 11:30:02 am by i_am_keng » Logged

www.cakephp.in.th
www.hotel-reservation.in.th

mambo laithai:www.mambohub.com
mambo dev:www.mambo-foundation.org
ywc#2
KConvert dev (convert character set)
www.keng-d.com
เที่ยวในไทย www.tour-in-thai.com
Keng:Suriya Kaewmungmuang
เก่ง:สุริยา แก้วมุงเมือง
kikok
Customer
Full Member
*

Karma: 0
Offline Offline

Posts: 131



WWW
« Reply #8 on: February 14, 2008, 06:28:01 am »

เฮ้องานเข้าแล้วเรา ต้องเปลี่ยนจริงๆแล้วเหรอ หลบมาตั้งนาน  Huh
Logged

ขอบคุณสำหรับทุกคำตอบครับ :ค่าของคนอยู่ที่คนของใคร:www.uttc.ac.th
pete
มือใหม่หัดโพส
*

Karma: 0
Offline Offline

Posts: 13


« Reply #9 on: February 23, 2008, 11:15:44 pm »

รบกวนถามด้วยความไม่รู้จริงๆนะครับ อาจารย์ keng ครับ (หรือท่านอื่นๆที่ทราบครับ)
kconvert ติดตั้งและใช้อย่างไรครับ
ขอบคุณในความกรุณาล่วงหน้าด้วยนะครับ
Logged
i_am_keng
สิ่งที่หาไม่ได้ง่าย ๆ คือโอกาสทองของชีวิต
Global Moderator
เทพแห่งบอร์ด
*

Karma: 3
Offline Offline

Posts: 865


sc450617@at_hotmail_dot_com.com
WWW
« Reply #10 on: February 25, 2008, 11:18:03 am »

มันไม่ใช่ คอมโพเน้นท์ โมดูล แมมบอท หรือ ปลั๊กอินของแมมโบ้อะไรทั้งสิ้นน่ะครับ เป็น คลาสของภาษา php ที่ผมทำขึ้นมาใช้แทนฟังก์ชั่น iconv เท่านั้น จะเหมาะสำหรับ นักพัฒนาโปรแกรมที่เขียน php ครับ งานที่เหมาะสมคืองานที่จะต้องมีการแปลงชุดอักขระ ระหว่าง asscii<--->unicode สำหรับวิธีใช้ มี ต.ย. ข้างในไฟล์ครับ ลองแตกไฟล์มาดูครับ
Logged

www.cakephp.in.th
www.hotel-reservation.in.th

mambo laithai:www.mambohub.com
mambo dev:www.mambo-foundation.org
ywc#2
KConvert dev (convert character set)
www.keng-d.com
เที่ยวในไทย www.tour-in-thai.com
Keng:Suriya Kaewmungmuang
เก่ง:สุริยา แก้วมุงเมือง
pete
มือใหม่หัดโพส
*

Karma: 0
Offline Offline

Posts: 13


« Reply #11 on: February 25, 2008, 12:53:23 pm »

ขอบคุณอาจารย์ keng มากครับที่ให้ความกระจ่างในเรื่องนี้ ผมจะดูตามที่อาจารย์แนะนำมาครับ
Logged
pat_kud
มือใหม่หัดโพส
*

Karma: 0
Offline Offline

Posts: 2


« Reply #12 on: December 07, 2008, 04:17:39 pm »

ของผมใช้ได้แล้ว ตอนแรกก็เป็น Huh?  เหมือนกัน
ใน phpmyadmin เลือก database ของเรา
ไปที่ tab  "Operation"
ด้านล่างในส่วนของ Collation:
ให้เลือกเป็น tis620_thai_ci หรือ utf8.. ก็ตามสบายเลยครับ
« Last Edit: December 07, 2008, 04:19:59 pm by pat_kud » Logged
kaolei
มือใหม่หัดโพส
*

Karma: 0
Offline Offline

Posts: 19


« Reply #13 on: December 02, 2009, 10:17:09 pm »

ของผมใช้ได้แล้ว ตอนแรกก็เป็น Huh?  เหมือนกัน
ใน phpmyadmin เลือก database ของเรา
ไปที่ tab  "Operation"
ด้านล่างในส่วนของ Collation:
ให้เลือกเป็น tis620_thai_ci หรือ utf8.. ก็ตามสบายเลยครับ


ขอขอบพระคุณอย่างสูงครับ
ใช้ V.4.5.6 อยู่ พอลองมาใช้ V.4.6.5
ภาษาผมไปไม่เป็นเลย MyAdmin ก็ไม่รู้เรื่อง
นั่งแก้ นั่งลบ นั่งหาตั้งนาน ถ้าไม่มีบอกในนี้ผมคงกลับไปใช้ V.4.5.6 แน่ๆ
ขอบคุณครับ Wink
Logged
izumi
มือใหม่หัดโพส
*

Karma: 0
Offline Offline

Posts: 12


WWW Email
« Reply #14 on: January 10, 2010, 11:56:35 am »

สนับสนุนใช้ utf8 ครับ เป็นมาตรฐานดี
Logged

Hosting คุณภาพHost เร็ง แรง ไม่มีล่ม
Web Hosting บริการดี
Pages: [1] 2   Go Up
Print
Jump to: