Thai Character with Utf-8 charset in Flutter

NottDev
1 min readJun 21, 2019

--

Image result for flutter

หลังจากได้ใช้ Flutter มาสักระยะ พูดเหมือนใช้มานาน จริงๆ ได้สัก 1 สัปดาห์ ตอนแรกคิดว่าจะเขียนบทความ Flutter ให้เพื่อนๆ ได้อ่าน แต่คงต้องรอสักพัก เพราะช่วงนี้ค่อยข้างยุ่ง วุ่นวายมาก เอาเป็นว่า วันนี้มาเขียนเกี่ยวกับการแปลง Response data เป็นให้สามารถแสดงเป็นภาษาไทยครับ มาดูกันเลยดีกว่า+++

สำหรับการเรียก API ใน Flutter ผมใช้ http library สำหรับสร้าง HTTP requests ใน Method ต่างๆ เช่น GET, POST, PUT, PATCH, DELETE

หากเราเจอแบบนี้ก็ไม่เป็นตกใจนะครับ สาเหตุที่เป็นแบบนี้คือ เมื่อเราใช้คำสั่ง json.decode ฟังก์ชั่นจะทำการแปลง Response data เป็น json format โดยตอนสั่ง decode มันจะอ้างอิงกับ charset parameter ในส่วนของ Content-Type ใน header field แต่ถ้าไม่มีค่า หรือไม่พบชื่อของ Encoding มันจะใช้ค่า default ซึ่งก็คือ [latin1] RFC 2616.

Resolved!!

การแก้ไขไม่ยากเลยครับ เพียงเคย เปลี่ยนเป็นเรียกฟังก์ชั่น utf8.decode แล้วใส่ parameter เป็น bodyBytes ซึ่งเป็นการนำ Bytes เป็นแปลงเป็น String แบบตรงๆ

KEEP CLAM AND Enjoy Coding

--

--

NottDev
NottDev

Written by NottDev

Your only limit is your mind.

Responses (1)