Home Webboard ArticlesKnowledges  

ตอบ

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.
ชื่อ:
อีเมล์:
หัวข้อ:
ไอค่อนข้อความ:

ใส่รูปในกระทู้ คลิก >>
Verification:
ธงชาติไทยมีกี่สี ตอบเป็นเลขอารบิก:

shortcuts: กด alt+s เพื่อตั้งกระทู้ หรือ alt+p แสดงตัวอย่าง


สรุปหัวข้อ

ข้อความโดย: TMO
« เมื่อ: 30, สิงหาคม 2011, 06:07:52 PM »


ใครยังแก้ไม่ได้ เอาวิธีผมไปใช้ดูนะ

ให้ดูไฟล์ index.thai.php  หรือ index.thai-utf8.php  ของท่าน

เปิดมา บรรทัดที่ 11 มั้ง

เดิมๆจะเป็น
$txt['lang_locale'] = 'th_TH';

ให้แก้เป็น




ขอบคุณมากมาย หายแล้วคร้าบบบบบบบบบ
นั่งทำเป็นวันแล้ว เหมือนสวรรค์มาโปรดจริงๆเลย ^_^
$txt['lang_locale'] = 'th_TH.utf8';


บันทีดที่ 16 เปลี่ยนเป็น
$txt['lang_character_set'] = 'utf-8';

เดิมเป็น tis-620 มั้ง

เซพแล้วลองดูครับ

คิดว่าไ้ด้แล้วนะ  :rolleyes:
ข้อความโดย: กฤติยา
« เมื่อ: 17, เมษายน 2011, 03:25:48 PM »

ฮือๆๆๆๆๆ  ของผมลองทำตามแล้วครับ  ภาษายึกยือใหญ่เลยยยยย

http://www.naktum.com/webboard/index.php

ช่วยผมด้วยค๊าปปปปปปป  :cheesy:
ตอนแรก ก็ยึกยือเพียบ  ก็เพราะไม่ได้เซฟตามที่บอก เพราะเพิมบีีทัดที่ 59  เข้า ไป และลบ ออก  และโยนเข้าไปใหม่ ปรากฎว่าได้เลย อิอิ ม่วน
ข้อความโดย: UnclEo
« เมื่อ: 10, กันยายน 2010, 12:49:25 PM »

ใครยังแก้ไม่ได้ เอาวิธีผมไปใช้ดูนะ

ให้ดูไฟล์ index.thai.php  หรือ index.thai-utf8.php  ของท่าน

เปิดมา บรรทัดที่ 11 มั้ง

เดิมๆจะเป็น
$txt['lang_locale'] = 'th_TH';

ให้แก้เป็น

$txt['lang_locale'] = 'th_TH.utf8';


บันทีดที่ 16 เปลี่ยนเป็น
$txt['lang_character_set'] = 'utf-8';

เดิมเป็น tis-620 มั้ง

เซพแล้วลองดูครับ

คิดว่าไ้ด้แล้วนะ  :rolleyes:


แบบนี้มีปัญหาเพราะโหลดไฟล์ภาษามาผิดนะครับ ถ้าคุณโหลด thai-utf8 มา บรรทัดที่คุณว่ามันเป็น utf-8 อยู่แล้ว


หากมีปัญหาแบบนี้แนะนำให้ไปโหลดมาใหม่ครับ ถึงแก้อย่าง rep บนว่าก็ไม่สามารถแก้ปัญหาได้ 100% เพราะไฟล์ยังไม่ได้เป็น .thai-utf8 และยังไม่ได้ Encode ทุกไฟล์เลยนะครับไม่ใช่เฉพาะ index.thai.php ที่มีปัญหา
ข้อความโดย: thaiga
« เมื่อ: 10, กันยายน 2010, 12:30:52 PM »

ใครยังแก้ไม่ได้ เอาวิธีผมไปใช้ดูนะ

ให้ดูไฟล์ index.thai.php  หรือ index.thai-utf8.php  ของท่าน

เปิดมา บรรทัดที่ 11 มั้ง

เดิมๆจะเป็น
$txt['lang_locale'] = 'th_TH';

ให้แก้เป็น

$txt['lang_locale'] = 'th_TH.utf8';


บันทีดที่ 16 เปลี่ยนเป็น
$txt['lang_character_set'] = 'utf-8';

เดิมเป็น tis-620 มั้ง

เซพแล้วลองดูครับ

คิดว่าไ้ด้แล้วนะ  :rolleyes:
ข้อความโดย: NoName
« เมื่อ: 27, มิถุนายน 2010, 07:05:30 PM »

การติดตั้ง SMF 2.0 อย่าติดตั้งเป็นภาษาไทยครับ เพราะตอนติดตั้งบางฟิลด์ยังเป็น tis-620 อยู่ เมื่อติดตั้งเสร็จแล้วต้องเข้าไป encode ให้เป็น utf-8 ให้หมด แล้วจึงไปเพิ่มภาษาไทยในส่วนของผู้ดูแล -->> Languages -->> Settings

ถ้าหากติดตั้งเป็นภาษาไทยชื่อและคำอธิบายบอร์กแรก และชื่อหัวข้อแรกจะเป็นภาษาต่างดาวทั้งหมด เพราะตอนติดตั้งในฟิลด์นี้มันยังไม่รู้จักภาษา thai-utf8
ข้อความโดย: -*nita:*-
« เมื่อ: 03, พฤษภาคม 2010, 12:39:55 PM »

ลองตั้งกระทู้เป็นภาษาไทยใหม่ดู ของเก่าอาจเปลี่ยนไม่ได้ ถ้าสร้างใหม่ก้เป็นภาษาไทยที่อ่านได้นะคะ ของเราก็ใช้ SMF 2.0 RC1 คะแก้ปัญหาได้แล้ว
ข้อความโดย: nakdham
« เมื่อ: 15, เมษายน 2010, 11:33:54 AM »

ฮือๆๆๆๆๆ  ของผมลองทำตามแล้วครับ  ภาษายึกยือใหญ่เลยยยยย

http://www.naktum.com/webboard/index.php

ช่วยผมด้วยค๊าปปปปปปป  :cheesy:
ข้อความโดย: เซียวเหล่งนึ่งฯ
« เมื่อ: 21, มีนาคม 2010, 08:32:27 PM »



อ้างอิงคำตอบของท่าน UnclEo มาจาก  ไทยแอดมิน.คอม



[quote author=UnclEo

มันดูเหมือนเป็นปัญหาเฉพาะบุคคลนะครับ

คุณบอกคุณได้แก้ไขไปส่วนหนึ่งแล้ว แต่การแก้ไขของคุณไม่มีใครทราบเลยว่าคุณทำอะไร? ทำอย่างไร? เป็นวิธีที่ถูกต้องหรือไม่

เพราะปัญของ UTF-8 ที่เป็นภาษาต่างดาวก็ดี โพสต์หัวข้อยาวๆ แล้วโดนตัดสั้นก็ดีล้วนเป็นปัญหามาจากการ Encoding ทั้งสิ้น

ส่วนวิธีแก้ไขผมก็ได้ตอบไปแล้วในลิงค์ที่คุณอ้างถึง

ควาวนี้ก็มาถึงจุดสังเกตุ

ไฟล์ Settings.php
บรรทัดที่ 33
โค๊ด: [Select]
$language = 'thai-utf8'; # The default language file set for the forum.
บรรทัดที่ 59 (บรรทัดสุดท้าย)
โค๊ด: [Select]
$db_character_set = 'utf8';นี่คือส่วนที่กำหนดใช้งานชุดภาษา หากตอนติดตั้งคุณได้ CHMOD = 777 มันก็จะเขียนลงไปโดยอัตโนมัติ แต่หากไม่ได้ CHMOD ก็จะไม่มีการเขียนคุณจะต้องจัดการดัวเอง

เมื่อได้กำหนดเช่นนี้แล้วคราวนี้ก็มา View Code ดูกัน ใน meta Tag คุณจะเห็นแบบนี้

นั่นหมายถึงบอร์ดของคุณได้ใช้ชุดตัวอักษรชนิด UTF-8 อันเป็นผลมาจากการกำหนดตัวแปรในไฟล์ Setting.php

คราวนี้มาถึงการ Convert HTML-entities to UTF-8 characters ซึ่งอยู่ในส่วน ผู้ดูแล >> บำรุงรักษา
ขั้นตอนนี้ไม่มีความจำเป็นต้องทำหากตอนติดตั้งคุณได้กำหนดค่าเริ่มต้นของภาษาเป็น Thai-utf8 และ
Use UTF-8 as default charecter set

หากคุณละเลยไม่ได้กำหนดค่าทั้ง 2 นั้นคุณจำเป็นจะต้องทำ Convert HTML-entities to UTF-8 characters หากต้องการใช้ชุดตัวอักษร UTF-8

กรณีที่ไม่ได้กำหนดค่าทั้ง 2 ตอนติดตั้งนั้น แล้วมาทำ Convert HTML-entities to UTF-8 characters ปัญหาที่ตามมาคือบอร์ดของคุณจะเป็นภาษาต่างดาวทั้งหมด นั่นแสดงว่าคุณมาถูกทางแล้ว จึงต้องไปถึงการจัดการในขั้นตอนต่อไป

คราวนี้ก็มาถึงการ Encoding Database ใน phpMyAdmin

แน่นอนครับขั้นตอนนี้คุณต้องเข้าไปใน phpMyAdmin เพื่อจัดการขั้นตอนดังกล่าว ขออนุญาตเชื่อมโยงนะครับเพราะทำไว้แล้ว Encoding database ใน phpmyadmin

หากคุณทำตามขั้นตอนทั้งหมดนี้ปัญหาที่คุณเป็นอยู่ตอนนี้ หรือตั้งหัวข้อยาวๆ แล้วเป็นภาษาต่างดาว, ตั้งหัวข้อยาวๆ แล้วตัดสั้นเหลือ xx ตัวอักษร จะหมดไปทันที สรุปก็คือเรื่องปัญหาของภาษาใน SMF มีวิธีจัดการไม่มากไปกว่านี้

เว้นไว้แต่ว่ากรณีต้องการตั้งหัวข้อให้ได้มากกว่า 80 ตัวอักษรถึงจำเป็นต้องไปแก้ไขโค้ดในไฟล์ Post.template.php ซึ่งเป็นวิธีที่ไม่แนะนำ เพราะจำนวน 80 ตัวอักษรเป็นขนาดที่เหมาะสมในการจัดการของฐานข้อมูล และหัวข้อก็ไม่มีความจำเป็นจะต้องมีจำนวนตัวอักษรมากไปกว่านี้ เพราะในเนื้อหาของโพสต์เราสามารถอธิบายเนื้อความกี่ตัวอักษรก็ได้ ไม่ได้คิดที่จะสื่อสารกันให้เข้าใจถึงรายละเอียดกันแค่เพียงหัวข้อ

หากจัดการตามขั้นตอนดังกล่าวแล้วยังแก้ปัญหาไม่ได้ คราวนี้ก็เป็นปัญหาของ Hosting แล้วครับว่ารองรับ UTF-8 หรือเปล่า หากไม่รองรับก็มีคำแนะนำว่าเลิกใช้เหอะ!

คราวนี้มาถึงกรณีการเปลี่ยนชุดภาษาจาก .thai.php -->> .thai-utf8.php

คุณไม่จำเป็นต้องไปโหลดมาใหม่เลยครับ เอาไฟล์เติมนั้นแหละเปลี่ยนชื่อเอา เช่น
Admin.thai.php ก็เปลียนเป็น Admin.thai-utf8 แล้วก็ Encoding เป็น UTF-8 ตัวอย่างการ Encoding อ้างอิงจากโปรแกรม EditPlus




โปรแกรม Dreamweaver
Edit >> Preferences...


โปรแกรม Notepad++


โปรแกรม Notepad



แต่หากไฟล์ภาษาไม่มีการเพิ่ม $txt ใดๆ เข้ามาเป็นไฟล์เดิมๆ ไปโหลดมาเปลี่ยนใหม่จะง่าย แลเร็วกว่านะครับ กรณีนี้เหมาะสำหรับได้ลง mod และเพิ่ม $txt ไปมากแล้วก็ไม่ต้องมาไล่เพิ่มใหม่ทำแบบนี้จะเร็วกว่า ง่ายกว่าการมานั่งไล่เพิ่ม $txt

หวังเป็นอย่างยิ่งว่าปัญหาภาษาของ SMF ควรจะจบลงที่กระทู้นี้
ข้อความโดย: kero
« เมื่อ: 11, มีนาคม 2010, 03:05:40 PM »

เพิ่มเติมอีกหน่อย ผมพยายามแก้ไข โดยการเข้าไปแก้ไขไฟล์ index.thai-utf8.php (themes/default/languages/index.thai-utf8.php)  ดูตรงส่วนที่แสดงรายชื่อเดือน คิดว่า มันอ่านภาษาไทยไม่ได้ เลยลองไปเอา ภาษาอังกฤษมาใส่แทน แล้วลอง upload ขึ้นไปดู ปรากฏว่า ไม่มีอะไรเปลี่ยนแปลงเลย เหมือนเดิมทุกประการ เหมือนมันไม่ได้มาอ่านไฟล์นี้อ่ะ เลยสงสัย ทำไมมันเพี้ยนขนาดนี้

ข้อความโดย: kero
« เมื่อ: 11, มีนาคม 2010, 11:28:56 AM »

สอบถามเพิ่มเติม นะครับ เกี่ยวกับการ Encoding ผมใช้ Edit Plus ในการ แก้ไข แล้ว Save เป็น utf8
มีข้อสังเกต อย่างหนึ่ง คือ ผมได้ไล่ เปลี่ยนทุกๆไฟล์ (*.php) แล้วลอง สุ่ม เปิดไฟล์บางไฟล์ ขึ้นมา แล้วลอง Save as ไปใหม่ เพื่อดูว่า Encoding เป็นชนิดอะไร ปรากกฏว่า บางตัวเป็น UTF-8  แต่บางตัว ไม่ยอมเปลียน กลับเป็น default ไม่ทราบแบบนี้ ถูกต้องหรือไม่?

หรือว่า ถ้าเรา save เป็น UTF-8 แล้ว เวลาเปิดมาแก้ไข แล้ว save ไปอีก มันก็จะต้องขึ้นตรง Converter เป็น UTF-8 หรือว่าไม่แน่เสมอไปครับ ขอบคุณครับ
ข้อความโดย: NoName
« เมื่อ: 11, มีนาคม 2010, 08:35:57 AM »

ในส่วนของไฟล์ .php Encoding เฉพาะไฟล์ภาษาครับไฟล์อื่นๆ หากไม่มีการเพิ่มข้อความภาษาไทยก็ไม่จำเป็น

แต่ที่จำเป็นคือฐานข้อมูลครับ
ข้อความโดย: kero
« เมื่อ: 11, มีนาคม 2010, 07:09:52 AM »

คราวนี้น่าจะเป็นเพราะฐานข้อมูลแหละครับ

ต้องดูให้แน่ใจนะครับว่าทุกๆ ฟิลด์ที่มีการใช้อักขระได้ Encoding เป็น utf8_general_ci หมดแล้ว

การ Encoding ถ้าทำทั้งหมดใช้เวลาเป็นชั่วโมงนะครับไม่ใช่ทำแป๊บเดียว ต้องไล่ดูให้แน่ใจทุกๆ ฟิลด์เลย

ขอบคุณมากครับ
ตัวฐานข้อมูล ผมทำการเปลี่ยนเป็น utf8_general_ci หมดแล้ว (แต่เดี่ยวจะไล่ดูอีกทีเพื่อความชัวร์นะครับ)

การ Encoding ยังไม่ได้ทำทั้งหมดครับ ทำแค่ไฟล์ ในชุดของ theme ,default เท่านั้นครับ เดี่ยวจะไล่ ทำการ Encoding ทั้งหมดทุกไฟล์ (ทุกไฟล์ที่เป็น .php ถูกต้องไหม? ครับ)

ขอบคุณอีกครั้งนะครับ และขอบคุณคุณ เซียวเหล่งนึ่ง  แห่งสำนักสุสานโบราณ ด้วยนะครับ
ข้อความโดย: NoName
« เมื่อ: 10, มีนาคม 2010, 10:39:07 PM »

คราวนี้น่าจะเป็นเพราะฐานข้อมูลแหละครับ

ต้องดูให้แน่ใจนะครับว่าทุกๆ ฟิลด์ที่มีการใช้อักขระได้ Encoding เป็น utf8_general_ci หมดแล้ว

การ Encoding ถ้าทำทั้งหมดใช้เวลาเป็นชั่วโมงนะครับไม่ใช่ทำแป๊บเดียว ต้องไล่ดูให้แน่ใจทุกๆ ฟิลด์เลย
ข้อความโดย: kero
« เมื่อ: 10, มีนาคม 2010, 10:14:46 PM »

เข้าไปดูใน ผู้ดูแล >> ส่วน ปรับแต่งค่าการใช้งาน >> รูปแบบเวลาปกติ

ให้เป็นรูปแบบนี้นะครับ
โค๊ด: [Select] [nofollow]
%B %d, %Y, %I:%M:%S %p
หรือ
โค๊ด: [Select] [nofollow]
%e %B %Y, %H:%M:%S
ถ้าหากเป็น Windows Server เปลี่ยน %e เป็น %d นะครับ

ขอบคุณคุณ โนเนม มากครับ ผมได้ทำการแก้ไข รูปแบบเวลา เป็นทั้งสองแบบแล้วครับ แต่ว่า ผลยังเหมือนเดิมครับ  เดิมของผม เป็น ชุดแรกครับ 
โค๊ด: [Select] [nofollow]
%B %d, %Y, %I:%M:%S %p  ขอรบกวนอีกครั้งนะครับ
ข้อความโดย: kero
« เมื่อ: 10, มีนาคม 2010, 10:10:59 PM »

ส่งยูอาแอลให้ท่านโนเนมไปแล้วหละ
โดยส่วนตัวถ้าไม่อยากคิดมาก คงเปลี่ยนเดือน จากตัวหนังสือเป็นตัวเลข  555+

ขอบคุณมากครับ
Sitemap 1 2 3 4 5 6 
Back to top