1. App.encoding
ถ้าเราตั้งไฟล์ทั้งหมดให้เป็น tis-620 หรือไม่ได้ใช้ utf-8 เราจะต้องเปลี่ยนจาก 'UTF-8' เป็น 'ISO-8859-1' ครับ เหตุผลที่ไม่เปลี่ยนเป็น TIS-620 ก็เพราะว่า php ยังไม่สนับสนุน character set TIS-620 ครับ อย่างไรก็ตามสามารถใช้ ISO-8859-1 แทนได้ เพราะว่าทั้งสองแบบนี้มีรูปแบบการจัดเก็บเป็น ANSI เหมือนกัน ใช้แทนกันได้ไม่มีปัญหาครับ
ไฟล์ config/core.php
/**
* Application wide charset encoding
*/
Configure::write('App.encoding', 'ISO-8859-1');
2. database config สำหรับตรงนี้ต้องขอบคุณคุณ ErrorMan ครับ :)
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'username',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
'encoding' => 'TIS620' //ถ้าใช้ utf-8 ให้เปลี่ยนเป็น UTF8 แทนครับ :)
);
3. การใช้ ajax ใน cakephp
<?php
class DoraemonsController extends AppController {
var $name = 'Doraemons';
var $helpers = array('Html', 'Form','Ajax','Javascript');
var $components = array('RequestHandler');
function beforeFilter(){
parent::beforeFilter();
//จะต้องตั้ง debug < 2
Configure::write('debug',1);
if ($this->RequestHandler->isAjax()){
//เทียบได้กับ header('content-type:text/html;charset=tis-620');
//การใช้ respondAs จะต้องเรียกใช้ใน beforeFilter
//เพราะ respondAs จะถูกเรียกโดยอัตโนมัติโดย
//CakePHP ภายหลังคำสั่ง beforeFilter
//ถ้าเราเรียกใช้ respondAs ซ้ำ, CakePHP จะถือว่าเป็นโมฆะ
$this->RequestHandler->respondAs('html',array(
'charset'=>'tis-620'
));
}
}
function index(){
}
}
?>
ไม่มีความคิดเห็น:
แสดงความคิดเห็น