Page 2 of 3

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sun Apr 01, 2007 7:49 am
by taotoon
เราชอบ windows-874 นะ แล้วก็แปลกนะ ใช้ AJAX กับภาษาไทยได้แหละ database เป็น ISO-8XXX-1

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sun May 27, 2007 8:58 am
by fourth_al
โอ้ว  กว่าผมจะตามหาคำตอบเจอ.......ขอบคุณมากครับคุณ i_siam_guy 
ลองแก้ใน file  joomla_root_dir/index.php แล้วได้ผลจริงๆครับ ขอบคุณมาก

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sat Sep 22, 2007 2:37 pm
by chajang
เซ็ตตามคุณ  i_siam_guy  repที่ 15 กับ 25 แล้วค่ะ แต่หน้า admin ยังไม่ยอม edcoding ให้เลย เป็นตัวยึกยืออยู่ค่ะ  (หน้าแรกเป็นภาษาไทยแล้วค่ะ)

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sat Sep 22, 2007 3:19 pm
by ponpe
คุณ chajang
ผมยอมรับว่าคุณมีความพยายามสูงในการแก้ไขปัญหา ไม่นานคุณจะเก่งเอง  ลองวิธีนี้ดูหรือยังครับ

ลองใช้ Edit plus    save as แล้วเลือกเป็น utf-8  ลองดูเปรียบเทียบกับ  ก่อนหน้าที่จะ save as  ว่าภาษาเป็นอย่างไร

ผมเคยเป็นแบบคุณ แต่ก็มาลองวิธีตามข้างบนกับแก้ได้ โดยเฉพาะ กับ modole กับ component ที่ผมเอาของ mambolaithai  มาใช้

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sat Sep 22, 2007 4:10 pm
by chajang
:D ขอบคุณค่ะคุณ ponpe เกิดมาเจอปัญหาก็ต้องแก้ไปค่ะ  แก้เรื่อยๆ เหนื่อยก็พัก อิอิ

ทีให้ save ใหม่นี่คือไฟล์ root/index2.php ใช่ป่าวคะ?

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sat Sep 22, 2007 5:13 pm
by ponpe
copy (download)  file php ที่ต้องการจะแก้ไข  จาก server แล้วมาแก้ที่เครื่องคอม แล้วแก้ไขเสร็จก็ upload กลับไป server  (ก่อน upload กลับ สำรอง file เดิมที่ server ด้วย)

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sat Sep 22, 2007 6:55 pm
by chajang
เรียนคุณ ponpe ลองแล้วค่ะ แต่ไม่ได้ผล  :-\

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sat Sep 22, 2007 7:55 pm
by ponpe
ปัญหา นี้ server ใช้ php เวอร์ชั่นอะไร  ภาษาฐานเดิมใช้อะไร    ลองไปอ่านตามนี้ดูจะเข้าใจมากยิ่งขึ้น
ตั้งแต่ mysql เวอร์ชั่น 4.1.xx (จริงๆเริ่มที่ 4.0.??) ขึ้นมาจะรองรับการเก็บข้อมูลแบบ unicode ซึ่งจะมีการเก็บ charset ไว้ด้วย ดังนั้น
การเก็บข้อมูลของ 1 ตัวอักษรจะใช้พื้นที่อย่างน้อย 2 byte ขึ้นไป ดังนั้นการแสดงผลแต่ละตัวอักษรสามารถแสดงออกมาตาม charset ที่ระบุไว้ของตัวอักษรนั้นๆ ทำให้สามาถแสดงผลได้ทุกภาษาที่ต้องการพร้อมๆกันในหน้าเดียว

สำหรับภาษาไทยในเวอร์ชั่น 4.1 ที่ compatible กับ 4.0 ก็คือการเก็บภาษาไทยแบบ ascii ลงในตาราง latin1-swedish
ซึ่งในการใช้งานกับ 4.1 สามารถใช้งานได้เหมือนกับการใช้งานบน 4.0 ทุกประการ
sql ที่ export มาจาก 4.0 นำมา import ลงบน 4.1 แบบ latin1 จะสามารถแสดงผลบน browser ที่เลือก charset เป็น tis-620 ได้ทันที โดยไม่ต้องมีการแปลงใดๆ

การใช้ภาษาไทยแบบ unicode บน mysql 4.1
จะเป็นการเก็บภาษาไทยในรหัส unicode บนตารางแบบ utf8_unicode หรือ tis620_unicode ซึ่งไม่ใช่ latin1_swedish
สำหรับเวบที่เริ่มต้นสร้าง database ใหม่บน mysql4.1 โดยสร้างเป็นแบบ tis620_unicode หรือ utf8 ก็จะสามารถบันทึกและแสดงผลภาษาไทยได้อย่าวไม่มีปัญหา เนื่องจากตัว mysql จะ connect db นั้นๆตาม charset ที่สร้างไว้

แล้วปัญหาภาษาไทยอ่านไม่ออกเกิดจากอะไร?
ปัญหานี้มักเกิดจากการ export แล้วมา import จากระบบหนึ่งมายังอีกระบบหนึ่ง ซึ่งใช้ charset ไม่สอดคล้องสัมพันธ์กัน
เช่นนำ sql ที่ export จาก mysql4.0 มา import เข้า mysql4.1 แบบ tis620_unicode แทนที่จะเป็น latin1_swedish
ก็จะเกิดปัญหาภาษาไทยกลายเป็น

การ export และ import database
ก่อนอื่นให้ตรวจสอบข้อมูลเบื้องต้นต่อไปนี้

1. Version ของ mysql ต้นทาง
2. Version ของ phpmyadmin ต้นทาง
3. Charset ของ DB และ Table ต้นทาง

4. Version ของ mysql ปลายทาง
5. Version ของ phpmyadmin ปลายทาง
6. Charset ของ DB ปลายทาง ทีเ่กิดจากการสร้าง db เปล่าๆขึ้นมาผ่าน cp

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

1. จะต้อง export ไฟล์ sql ด้วย charset อะไร หรือใช้ phpmyadmin เวอร์ชั่นใหม่หรือเก่าช่วยในการ export
2. charset ของ db ที่จะต้องแก้ไขหลังจากสร้าง db ขึ้นมาก่อนทำการ import ข้อมูล
3. charset ที่จะต้องเลือกในการ import ข้อมูลจากไฟล์ sql ที่มีอยู่


หลักการ convert charset
สามารถทำได้บน mysql 4.1 ขึ้นไป โดยทำการแปลงจาก charset ปัจจุบันให้เป็น binary ก่อนแล้วจึงแปลงไปเป็น charset ที่ต้องการ
โดยใช้เมื่อทำการ import ข้อมูลภาษาไทยลงในตารางที่มี charset ไม่ตรงกับข้อมูล ไปเป็น charset ที่ตรงกับข้อมูล


--------------------------------------------------------------------------------
ตัวอย่าง
เมื่อทำการ export / import ข้อมูลในเครื่องเดียวกัน บน mysql 4.1 charset latin1 ด้วย phpmyadmin และ charset ต่างๆกัน
ไฟล์ SQL Export ไว้ด้วย            ---  นำมา Import ด้วย                              ---  ได้ผลลัพธ์
PhpMyadmin 2.5.4 (tis-620)  ---  PhpMyadmin 2.5.4 (tis-620)          ---  ภาษาไทยถูกต้อง

PhpMyadmin 2.5.4 (tis-620)  ---  PhpMyadmin 2.7.2 (Latin1)            ---  ภาษาไทยถูกต้อง
PhpMyadmin 2.5.4 (tis-620)  ---  PhpMyadmin 2.7.2 (Binary)            ---  ภาษาไทยถูกต้อง
PhpMyadmin 2.5.4 (tis-620)  ---  PhpMyadmin 2.7.2 (tis-620-UTF)    ---  ?? ?? ??
PhpMyadmin 2.5.4 (tis-620)  ---  PhpMyadmin 2.7.2 (UTF8)              ---  ?? ?? ??

PhpMyadmin 2.7.2 (Latin1)  ---  PhpMyadmin 2.5.4 (tis-620-UTF)    ---  รยฃร?ฦจ?ขก

PhpMyadmin 2.7.2 (Latin1)  ---  PhpMyadmin 2.7.2 (tis-620)          ---  ?? ?? ??
PhpMyadmin 2.7.2 (Latin1)  ---  PhpMyadmin 2.7.2 (Latin1)            ---  รยฃร?ฦจ?ขก
PhpMyadmin 2.7.2 (Latin1)  ---  PhpMyadmin 2.7.2 (Binary)            ---  รยฃร?ฦจ?ขก
PhpMyadmin 2.7.2 (Latin1)  ---  PhpMyadmin 2.7.2 (UTF8)              ---  ภาษาไทยถูกต้อง
PhpMyadmin 2.7.2 (UTF8)    ---  PhpMyadmin 2.7.2 (UTF8)              ---  ภาษาไทยถูกต้อง

อ้างอิงเว็บไซต์จาก : http://www.thaihosttalk.com/th1/index.php?topic=6764.0


 
กลับสู่ด้านบน

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sat Sep 22, 2007 8:01 pm
by chajang
อ๋อยยยย  ??? มึนค่ะ ไม่ค่อยถูกกับภาษาคอมยาวๆ หุหุ กำลังพยายามอยู่ค่ะ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Mon Sep 24, 2007 3:53 am
by i_siam_guy
คือ...ใส่ header(...) ...ไปถูก file หรือเปล่าครับ..

ที่ joomla_root_dir/ ...ใส่มันไปทุก index เลยครับ.. index.php , index2.php, index3.php
ที่ joomla_root_dir/administrator/ ก็ใส่มันไปทุก index เช่นกันครับ.. เหมือนที่ข้างบน เน้นที่ index2.php กับ index3.php

...

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Thu Sep 27, 2007 9:01 pm
by chajang
i_siam_guy wrote: คือ...ใส่ header(...) ...ไปถูก file หรือเปล่าครับ..

ที่ joomla_root_dir/ ...ใส่มันไปทุก index เลยครับ.. index.php , index2.php, index3.php
ที่ joomla_root_dir/administrator/ ก็ใส่มันไปทุก index เช่นกันครับ.. เหมือนที่ข้างบน เน้นที่ index2.php กับ index3.php

...
อ้ออ  :D ขอบคุณค่ะ ใส่ head ไปแค่ index.php กับ index2.php ใน root ค่ะ เด๋วจะไปใส่เพิ่มค่ะ  :)

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่า&#

Posted: Sat Nov 10, 2007 9:48 am
by awat
ขอบคุณครับ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Sat Mar 08, 2008 3:29 pm
by arunsiam
ลองดูแบบนี้บ้างนะ อาจจะช่วยได้

ใน template ที่คุณเลือก index.php ไฟล์ ลองแก้จาก
<meta http-equiv="Content-Type" content="text/html;><?php echo _ISO; ?>" />

เป็น
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />

คือเอาเครื่องหมาย > ออกไปอันหนึ่ง

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Wed Jun 11, 2008 5:20 am
by toncmi
ขอบคุณครับ ขอไปลองทำก่อนนะ งงเหมือนกัน

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Wed Jun 11, 2008 6:28 am
by arunsiam
toncmi wrote:ขอบคุณครับ ขอไปลองทำก่อนนะ งงเหมือนกัน
ลายเซ็นต์ผิดระเบียบครับ ลองอ่านที่นี่ดู http://forum.joomla.org/viewtopic.php?f=15&t=297608

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Wed Jun 11, 2008 6:41 am
by toncmi
ขอบคุณครับ ผมปฎิบัติถูกต้องตามระเบียบเรียบร้อยแล้ว
ผิดมาตั้งนาน.... :p

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Thu Jun 12, 2008 9:09 am
by toncmi
เวลาเข้าเว็บของผมแล้ว จะต้องมากำหนด ใน View > encoding > เลือกเป็น Utf8 เว็บถึงจะอ่านออก ซึ่งปกติจะต้องเป็น
window- 874 ผมควรจะต้องทำยังไงดีครับ http://www.paikad.com รบกวนลองเข้าไปดูครับ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Sun Aug 31, 2008 2:25 pm
by tagecho

Code: Select all

convert TIS-620 ให้เป็น UTF-8

ให้ไปทำการดาวน์โหลดไฟล์แปลง tis2utf8.php มาหรือโหลดได้ ที่นี้ หรือ http://www.appservnetwork.com/ เมื่อโหลดมาแล้วให้ทำการแตกไฟล์

แล้วเข้าไปแก้ไขไฟล์ ตามบรรทัดข้างล่างนี้

บรรทัดที่ 23 $dbhost = “localhost”; ใส่ชื่อโฮสฐานข้อมูล
บรรทัดที่ 24 $dbuname = “root”; ชื่อบัญชีผู้ใช้งานฐานข้อมูล
บรรทัดที่ 25 $dbpass = “”; รหัสผ่าน
บรรทัดที่ 26 $dbname = “cmsthai”; ชื่อฐานข้อมูลที่จะทำการแปลง

จากนั้นเมื่อบันทึกเรียบร้อยแล้วก็สั่งให้ Script ทำงาน สั่งตามรูป

หลังจากทำงานเสร็จก็จะมีหน้าแสดงผลดังรูปข้างล่างนี้

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

อ้างอิงจาก

Code: Select all

http://www.siamgeek.com/2008/05/utf-8totis-620/

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Mon Sep 08, 2008 1:53 pm
by arunsiam
tagecho wrote:

Code: Select all

convert TIS-620 ให้เป็น UTF-8

ให้ไปทำการดาวน์โหลดไฟล์แปลง tis2utf8.php มาหรือโหลดได้ ที่นี้ หรือ http://www.appservnetwork.com/ เมื่อโหลดมาแล้วให้ทำการแตกไฟล์

แล้วเข้าไปแก้ไขไฟล์ ตามบรรทัดข้างล่างนี้

บรรทัดที่ 23 $dbhost = “localhost”; ใส่ชื่อโฮสฐานข้อมูล
บรรทัดที่ 24 $dbuname = “root”; ชื่อบัญชีผู้ใช้งานฐานข้อมูล
บรรทัดที่ 25 $dbpass = “”; รหัสผ่าน
บรรทัดที่ 26 $dbname = “cmsthai”; ชื่อฐานข้อมูลที่จะทำการแปลง

จากนั้นเมื่อบันทึกเรียบร้อยแล้วก็สั่งให้ Script ทำงาน สั่งตามรูป

หลังจากทำงานเสร็จก็จะมีหน้าแสดงผลดังรูปข้างล่างนี้

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

อ้างอิงจาก

Code: Select all

http://www.siamgeek.com/2008/05/utf-8totis-620/
คนนี้ก็ลายเซ็นต์ผิดระเบียบครับ ต้องเป็น URL จริง ๆ ห้ามเป็น keyword ครับ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Sat Nov 08, 2008 2:36 pm
by thussanase
แต่สามารถใส่ keyword หลังชื่อเว็บไซต์ได้ใช่ใหมครับ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Fri Jan 16, 2009 6:39 am
by khonthai
ผมไม่ได้แก้ไรมากน่ะ เช่าของ โกแดดดี้ ก็ดาวน์โหลดที่เพื่อนๆให้มาน่ะล่ะ แต่ถ้าเป็นภาษาไทยก็จะมีปัญหาตอนเปิดเว็บต้องไป encoding

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Sat Feb 07, 2009 4:36 pm
by nagis
เว็บผมต้องเข้า View > encoding > Utf8 ถึงจะดูได้ครับ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Thu Apr 02, 2009 9:33 am
by bikebike
มีวิธีคิดง่ายๆ ถ้าเรา set เป็น utf-8 ก็จะต้องเป็น utf-8 ตลอดสาย
ตั้งแต่ DB --> PHP (HTML) --> Browser

ถ้าส่วนในส่วนหนึ่งไม่ได้ set เป็น utf-8 มันก็จะเพี้ยนครับ :)

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Tue May 12, 2009 12:28 am
by djsonny
มีปัญหาแบบนี้เหมือนกันเลยครับ ขอบคุณคำแนะนำทุกคนครับ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Wed May 20, 2009 1:47 pm
by thongdee
อ่านเพลินดี วนเวียนแถวนี้มานาน เพิ่งมาอ่าน
ขอบคุณทุกท่านที่แชร์ครับ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Tue Jul 07, 2009 1:23 am
by hostneverdie
เข้ามาเก็บความรู้

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Sat Sep 26, 2009 12:57 pm
by icounterservice
งง ครับ พอติดตั้งเสร็จแล้ว พอเปิดดู ระบบมันขึ้นภาษาต่างดาว ผมต้องเลือกที่ ie แล้วเลือก encoding แล้วเลือก utf-8 ถึงจะได้อะครับ

ไม่ทราบมีใครเป็นแบบผมเปล่าครับ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Fri Oct 02, 2009 12:14 pm
by protun
ผมเปลี่ยนที่ไฟล์ index มันก็เปลี่ยนแล้วนี่ครับ หรือว่ายังไง

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Mon Oct 05, 2009 9:45 am
by infoholiday
:) ขอบคุณนะคับ

Re: ต้องการเซ็ตเว็บให้ default encoding เป็น utf-8 ต้องทำอย่าง

Posted: Fri Oct 16, 2009 1:57 pm
by icounterservice
ได้แล้วครับ