การแสดงผล ภาษาไทย
รับข้อมูล ภาษาไทย จาก form
ใส่ใน mysql อาจทำให้ ตัวหนังสือที่แสดงออกภายหลัง กลายเป็น ???????? แทน
แก้ไขได้ ดังนี้ คือ
เพิ่ม โค้ด
---------------------------------------------
before_filter :configure_charsets
def configure_charsets
@headers["Content-Type"] = "text/html; charset=TIS620"
suppress(ActiveRecord::StatementInvalid) do
ActiveRecord::Base.connection.execute 'SET NAMES TIS620'
end
end
----------------------------------------------
ไว้ที่ส่วนต้น ของ ทุกๆ Controlers แล้วก็ ลองป้อนและแสดงข้อมูลใหม่ทาง browser
ไม่จำเป็น ต้อง Restart webserver ครับ ลองๆ
ดูแล้ว ก็ใช้งานได้
ผมใช้ AppServ mysql เป็น ฐานข้อมูล ก็ใช้งานได้ เปลี่ยนจาก ??? มาเป็น ภาษาไทยได้ทันที
ตัวอย่าง เช่น
class EbitController < ApplicationController
before_filter :configure_charsets
def configure_charsets
@headers["Content-Type"] = "text/html; charset=TIS620"
suppress(ActiveRecord::StatementInvalid) do
ActiveRecord::Base.connection.execute 'SET NAMES TIS620'
end
end #def
...... โค้ด ส่วนอื่นๆ เช่น def
end #class
----------------------------------
จริงๆแล้วก็ไม่เข้าใจความหมายหรอก
อ่านมาจาก คนที่ชำนาญกว่า ที่เวปนี้ครับ
http://weblog.punneng.com/index.php?m=200607&paged=2
No comments:
Post a Comment