|
|
|
สอบถามเกี่ยวกับการ INSERT Unicode เข้าฐานข้อมูลครับ |
|
|
|
|
|
|
|
json_encode เปลี่ยน unicode 2 bytes เป็น ascii 6 byte ลองเก็บเป็น text หรือ longtext ดูครับ
และจำเป็นต้องเก็บเป็น json_encode หรือเปล่าครับ เก็บเป็น text ธรรมดา ไม่ง่ายเหรอครับ
|
|
|
|
|
Date :
2015-06-06 14:27:52 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Insert ข้อมูลได้ครบแล้วครับ แต่พอ decode ออกมาไม่แสดงอะไรเลย เลยลองแสดงแบบธรรมดาดู มีชื่อฟิลด์ของฐานข้อมูลแสดงด้วยซะงั้น
|
|
|
|
|
Date :
2015-06-07 04:30:31 |
By :
1241050 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดู function นี่ดูครับ
Code (PHP)
function mat ($matches) {
return mb_convert_encoding(pack('H*',$matches[1]),'UTF-8','UTF-16');
}
function u_decode($input){
return preg_replace_callback( '/\\\\u([0-9a-zA-Z]{4})/', mat , $input );
}
function raw_json_encode($input) {
// convert 2 utf8 json encode
return u_decode( json_encode($input) );
}
echo u_decode('\u0e40\u0e04\u0e23\u0e37\u0e2d\u0e02\u0e48\u0e32\u0e22\u0e2a\u0e48\u0e07\u0e40\u0e2a\u0e23\u0e34\u0e21');
ลองดูครับเก็บ utf8 ในรูป json_encode ลง database มันใหญ่เกิน ลองแปลง \uxxxx เป็น utf8 ก่อนเก็บ
|
ประวัติการแก้ไข 2015-06-07 18:44:08
|
|
|
|
Date :
2015-06-07 18:37:46 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ Chaidhanan มากครับ ได้แล้วครับ
|
|
|
|
|
Date :
2015-06-07 19:35:59 |
By :
1241050 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|