ผมลองลง CentOS 5.6 ใน Virtual Box
แล้วใช้คำสั่ง #locale-gen thai
แล้วใช้คำสั่ง #locale -a| grep th แสดงผลดังนี้
lithuanian
thai
th_TH
th_TH.tis620
th_TH.utf8
ใช้คำสั่ง #file .
แสดงว่า UTF-8 Unicode text, with no line terminators
หลังจากนั้นใช้ php
<?php
$filename = ‘ขายบ้าน.txt’;
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
แสดงผลดังนี้
The file ขายบ้าน.txt does not exist
อยากทราบว่าเป็นเพราะอะไร ทำไมถึงหาไฟล์ไม่เจอครับ
ลองใช้งานกับ .htaccess หรือยังครับ
ผมลองที่เครื่องก็ปกติดีครับ Script ใช้งานได้
[root@ns1 ~]# locale -a| grep th
lithuanian
thai
th_TH
th_TH.tis620
th_TH.utf8
ก็มีเหมือนกัน
http://host.bangkok4u.com/test.php ![](http://www.thaihosttalk.com/public/style_emoticons/<#EMO_DIR#>/967339c1.gif)
ผมเดาดูนะว่าการตั้งชื่อไฟส์ ขายบ้าน.txt อาจจะมีเคาะว่างด้านหน้าด้านหลังหรือเปล่า ลองใช้ Notepad save แล้วลองเอาขึ้นลองดูครับ
kke
4
ไฟล์ php save เข้ารหัสแบบ utf-8 ด้วยครับ
ลองให้มันสร้างไฟล์ที่เป็นชื่อภาษาไทยดู
อยากทราบว่าถ้าใช้คำสั่ง #file [filename] มันแสดงผลว่าอะไรครับ ทั้งไฟล์ php และไฟล์ txt ครับ
#file .
test.php: PHP script text
¢ÒºéÒ¹.txt: empty
ได้แบบนี้อะครับ ![](http://www.thaihosttalk.com/public/style_emoticons/<#EMO_DIR#>/967339c1.gif)
คือตอนนี้ถ้าผมสร้างไฟล์ภาษาไทยจาก CentOS ก็ทำงานได้ตามปกติ แต่ SSH Secure Shell มองเห็นเป็นตัวประหลาด
เดี๋ยวจะลองใช้ file zilla ftp เข้าไปดูว่าจะมีปัญหาไหมครับ
kke
8
ใช้โปรแกรมอะไร ssh ครับ
แล้วกำหนด charset ของโปรแกรมเป็นอะไร ต้องกำหนดให้ถูกต้องตรงกับ encoding ของชื่อไฟล์ด้วยครับถึงจะแสดงผลเป็นภาษาไทยออกมา
แต่ถ้าไม่ได้กำหนดแล้วมันแสดงเป็นตัวยึกยือมันก็ไม่ได้มีปัญหาอะไร ก็แค่การแสดงผลผ่าน ssh ไม่เกี่ยวอะไรกับ apache/php
ssh ตั้งค่าฟอนท์ยัง อย่าลืมเรื่องฟอนท์อะ