คือมีลูกค้ารายนึงใช้อยู่ (http://thaijusticereform.com/) ปรากฏว่า
มันเป็นแต่ tis-620 ทั้ง ๆ ที่ กำหนดไว้เป็น utf-8 แล้ว งงมากครับ
mysql เป็น UTF-8 หรือเปล่าครับ
ผม view code ก็เป็น UTF หากผมบังคับ Safari ให้เป็น UTF-8 ก็เป็นภาษาไทยปกติ
data ไม่ได้เป็น utf นี่ครับ
DB เป็น UTF-8 ครับ
ผมใช้ Safari ก็ดูได้ปกติครับ แต่ว่าคนที่ใช้ IE กับ Firefox มันจะเป็น tis-620 อย่างเดียว
ทั้ง ๆ ที่ ในส่วนของ head ก็ set เป็น utf-8 อยู่แล้ว ก็เลยงงครับ …
สุดท้าย สร้าง .htaccess แล้วใส่ AddDefaultCharset UTF-8 ไปเลย แก้ปัญหาไปก่อน
พรุ่งนี้ค่อยมาดูว่ามันเกิดจากส่วนไหนกันแน่ครับ อิอิ เหนื่อย
ก็ UTF-8 น่ะครับ
ครับ ตอนนี้เป็น UTF-8 แน่ ๆ ครับ เพราะใส่ AddDefaultCharset UTF-8 ไปใน .htaccess
[quote author=212cafe.com link=topic=11979.msg116758#msg116758 date=1214071790]
ครับ ตอนนี้เป็น UTF-8 แน่ ๆ ครับ เพราะใส่ AddDefaultCharset UTF-8 ไปใน .htaccess
ลองไปที่ includes/ เปิดไฟล์ database.php
แล้วหาบันทัด $this->_table_prefix = $table_prefix;
[quote author=siamwebsolution.com link=topic=11979.msg116762#msg116762 date=1214072328]
ลองไปที่ includes/ เปิดไฟล์ database.php
แล้วหาบันทัด $this->_table_prefix = $table_prefix;
น่าจะเป็นปัญหามาจาก apache หรือ php.ini หรือเปล่า
ปกติ charset หน้าเว็บจะเป็นไปตาม meta ที่กำหนดไว้ใน head
แต่ถ้ากำหนดแล้วไม่เปลี่ยนแปลงหมายความว่าน่าจะมีการกำหนด default ไว้ใน apache หรือ php.ini
ก็ต้องไปเอา default charset ในนั้นออกก่อนครับ
เป็นอยู่เว็บเดียวครับ เว็บอื่นทั้งที่ใช้ tis-620 หรือ utf-8 ไม่เป็นครับ ทั้ง ๆ ที่มันก็ควรจะเป็นไปตาม
TAG meta น่าจะเป็นที่ file ที่ upload ขึ้นไปครับ เพราะ DB ก็ check แล้ว utf-8 ปกติ
[quote author=212cafe.com link=topic=11979.msg116820#msg116820 date=1214126653]
เป็นอยู่เว็บเดียวครับ เว็บอื่นทั้งที่ใช้ tis-620 หรือ utf-8 ไม่เป็นครับ ทั้ง ๆ ที่มันก็ควรจะเป็นไปตาม
TAG meta น่าจะเป็นที่ file ที่ upload ขึ้นไปครับ เพราะ DB ก็ check แล้ว utf-8 ปกติ
เออ…อย่าลืมมองไปถึงว่าเราใช้โปรแกรมอะไรที่เขียนโปรแกรมเว็บหรือแก้โปรแกรมเว็บ หากใช้ dreamwever ก็ต้องระวังไปเปลี่ยน encoding ใน source โปรแกรมด้วย
และไอคอนเนี้ย " :smash: " เปลี่ยนเถอะ… ตาลายแล้ว
ลองเอา .htaccess ออกแล้วเรียก
curl -I http://thaijusticereform.com
จะเห็น header ว่าพ่นออกมาเป็นอะไรครับ
ตอนนี้คงเป็นเพราะบังคับมันเลยออก utf-8
curl -I http://thaijusticereform.com
HTTP/1.1 200 OK
Date: Sun, 22 Jun 2008 15:12:32 GMT
Server: Apache/1.3.37 (Unix) mod_ssl/2.8.28 OpenSSL/0.9.7e-p1 PHP/4.4.7 FrontPage/5.0.2.2510
X-Powered-By: PHP/4.4.7
Set-Cookie: fdfef3cd27f7768a0d7ea6fd53850e44=-; path=/
Set-Cookie: mosvisitor=1
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Sun, 22 Jun 2008 15:12:32 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Content-Type: text/html; charset=UTF-8
แต่เว็บอื่นๆ ในเครื่องนั้นก็เป็น tis-620 นะ
curl -I Adwordthailand.com
HTTP/1.1 200 OK
Date: Sun, 22 Jun 2008 15:15:21 GMT
Server: Apache/1.3.37 (Unix) mod_ssl/2.8.28 OpenSSL/0.9.7e-p1 PHP/4.4.7 FrontPage/5.0.2.2510
X-Powered-By: PHP/4.4.7
Connection: close
Content-Type: text/html; charset=tis-620
curl -I Aedtravel.com
ว้าว พี่ pizzaman มาช่วยตอบกระทู้
[quote author=poomjit link=topic=11979.msg116878#msg116878 date=1214148815]
ว้าว พี่ pizzaman มาช่วยตอบกระทู้
ต้นเขาใช้ mac และ mac นี่หากเราใช้โปรแกรม textedit หรือโปรแกรม dreamwever ไปแก้ source โปรแกรม มันจะไปเปลี่ยน charset encoding ของ document ด้วย…หากเรากำหนดเอาไว้
วิธีง่ายๆ เขียนโปรแกรมสั้นๆแสดงแต่ html ให้เป็น utf-8 กับเขียน post ลง mysql แล้วนำขึ้นมาแสดงด้วย encoding utf-8 ด้วยโปรแกรมอีดิเตอร์ที่เราเอาไปแก้ code โปรแกรมเว็บดูครับ
ต้องลองดูครับ ผมก็เคยเจอปัญหาแบบนี้ (อย่าลืมว่าเราให้แสดงผลภาษาไทย แต่ตอน input data ลงไป…เราแน่ใจได้อย่างไรว่าเรา input ด้วย data utf-8)
คืออันนี้ไม่ใช่เว็บผมเองครับ เป็นเว็บของลูกค้า ซึ่งที่งงก็คือ ถึงแม้ว่าค่าปกติ ของผมจะเป็น tis-620 แต่เว็บอื่น ๆ
pookie# curl -I sabuyphoto.com
HTTP/1.1 200 OK
Date: Sun, 22 Jun 2008 16:29:40 GMT
Server: Apache/1.3.37 (Unix) mod_ssl/2.8.28 OpenSSL/0.9.7e-p1 PHP/4.4.7 FrontPage/5.0.2.2510
X-Powered-By: PHP/4.4.7
Connection: close
Content-Type: text/html; charset=tis-620
อย่างอันนี้ เค้าใช้ WordPress ซึ่งใช้ encoding เป็น utf-8 ที่ใส่ไว้ใน meta มันก็ใช้ได้ปกติ
เว็บอื่น ๆ อีกร้อยกว่าเว็บปกติหมด มีปัญหาแค่เว็บเดียว ก็เลยงงครับ เครื่องเดียวกัน เท่าที่ดูผมว่า น่าจะ
เป็นที่ file ตอน upload ขึ้นไปครับ อย่างที่พี่ 1 ว่า เพราะว่าลูกค้าผมเค้าก็ใช้ mac …
ว่าแต่พี่ pizzaman รู้ได้ยังไงครับ ว่าเครื่องผมมีเว็บอะไรบ้าง เพราะเว็บที่ check IP บางเว็บ มันก็
ไม่ได้ update เท่าไร อย่างเช่น http://whois.webhosting.info/202.142.213.175
เห็น 21 เว็บเอง ทั้ง ๆ ที่มีเป็นร้อยเว็บละ เครื่องนี้ งงครับ อิอิ
คือต้นต้องไปสืบประว้ติ code ไฟล์ที่เกี่ยวข้องมาจากเจ้าของเดิมก่อนว่าเขาใช้โปรแกรมอะไรมาแก้โค้ดหรือเปล่าด้วยครับ
ต้นลองไปทบทวนความน่าจะเป็น document encoding ดูอีกที แต่พี่ก็ไม่ฟันธงว่าเพราะเหตุอะไรเหมือนกันครับ
แต่เคยแก้ joomla UTF-8 ด้วย dreamwever แล้ว upload ขึ้นไปก็จะมีเพี้ยน
อ่า… ต้องไปจ้างนักสืบแล้วล่ะมั้ง ฮ่าฮ่า
แต่เป็น joomla ใช่ไหม… ลองเอาจาก site ต้นฉบับในเวอร์ชั่นเดียวกันทับลงไป (อย่าลืม bak ก่อนนะ) น่าจะมองเห็นทางน่าจะเป็น.