วิธีแก้ไขสัญลักษณ์ค่าเงินบาทใน invoice อ่านไม่ออก ใน PrestaShop 1.4
ถ้าเจอปัญหาว่าสัญลักษณ์ค่าเงินบาท ฿ ใน invoice ภาษาไทยแล้วอ่านไม่ออกหรือเป็นสัญลักษณ์อื่น จะต้องไปแก้ไขตรงไหน ให้ลองทำตามวิธีที่จะบอกต่อไปนี้ครับ
ให้เข้าไปแก้ไขที่ไฟล์ classes/PDF.php
แก้ไขโดยการเพิ่มการแปลงภาษาเป็น utf-8 ครับ
ต้นฉบับ
static protected function convertSign($s)
{
$arr['before'] = array('€', '£', '¥');
$arr['after'] = array(chr(128), chr(163), chr(165));
return str_replace($arr['before'], $arr['after'], $s);
}
แก้ไขเป็น
static protected function convertSign($s)
{
$arr['before'] = array('€', '£', '¥');
$arr['after'] = array(chr(128), chr(163), chr(165));
return Tools::iconv('utf-8', self::encoding(), str_replace($arr['before'], $arr['after'], $s));
}
เพิ่มเติม 22/09/2012
สำหรับ PrestaShop 1.4.9.0 แก้ไขได้ตามนี้ครับ
ต้นฉบับ
static protected function convertSign($s)
{
return str_replace(array('€', '£', '¥'), array(chr(128), chr(163), chr(165)), $s);
}
แก้ไขเป็น
static protected function convertSign($s)
{
return Tools::iconv('utf-8', self::encoding(), str_replace(array('€', '£', '¥'), array(chr(128), chr(163), chr(165)), $s));
}
เวอชั่น 1.4.9.0 แก้ยังไงครับ