แปลง UTF-8 เป็น TIS-620 ไป ๆ กลับ ๆ ใน .NET Core

ได้ไปทำงานกับลูกค้าที่มี project เก่า ๆ บางตัวที่ยังใช้ข้อมูลในฐานข้อมูลที่มี character set เป็น tis-620 อยู่ และไม่สามารถแปลงเป็น utf-8 ได้ด้วยสาเหตุอะไรบางอย่าง (น่าจะเป็นงานที่จะงอกขึ้นมากับทุก ๆ ระบบที่เค้า live อยู่) รู้แค่ว่า project ใหม่ ๆ ยังต้องไปดึงข้อมูลจากฐานข้อมูลนี้ แถมอีก project ต้องส่งข้อมูลที่เป็น utf-8 ไปหาระบบที่รองรับแต่ tis-620 อีก นั่นคือ ต้องมีวิธีแปลงข้อมูลจาก tis-620 ไปเป็น utf-8 และแปลงจาก utf-8 กลับไปเป็น tis-620 ข่าวร้ายคือ ใน .NET Core Framework ยกเลิกการ support legacy character set บางภาษาไปแล้ว รวมถึงภาษาไทยด้วย นั่นคือ วิธีการ convert encoding […]

Convert Datetime จาก ค.ศ. เป็น พ.ศ. ใน Razor Template

ใน C# ที่ใช้ Razor Template Engine เช่นในแอพที่เป็น MVC หรือเอา RazorLight Package มาใช้ในการ render ตอนเวลาต้องการ render วันที่ที่เป็น string ที่เป็นปี ค.ศ. เช่น “2018-02-17T01:22:38” ให้เป็นปี พ.ศ. จะต้องทำการ convert ก่อน โดยอาจจะ convert ตั้งแต่ใน app เอง หรือจะ convert ใน template ก็ได้

เพิ่ม Environment Variables ใหม่ใน Angular

ใน Angular โดยปกติจะมี environment มาให้ 2 environment คือ prod กับ ไม่ prod (เรียกรวม ๆ ว่า dev ละกัน) โดย environment ของ prod จะอยู่ที่ /src/environments/environment.prod.ts ส่วนอันที่เป็น dev จะอยู่ที่ /src/environments/environment.ts ซึ่งปกติเวลาเราสั่งคำสั่งผ่าน angular cli เช่น ng serve หรือ ng build มันจะเอาอันที่เป็น dev มาใช้ ถ้าต้องการใช้อันที่เป็น prod ต้องมีการประกาศอย่างชัด ๆ ว่าฉันจะเอา production นะ ผ่าน option –prod หรือ –environment=prod เช่น ng serve –environment=prod

เวลาตำรวจจับผู้ร้ายในหนัง เขาพูดว่าอะไร

เวลาดูหนังตอนฉากที่มีการจับผู้ร้ายหรือผู้ต้องสงสัยได้ ตำรวจเค้าจะพูดอะไรซักอย่างรัว ๆ ยาว ๆ ตอนที่ฟังผ่านซาวด์แทร็กก็ฟังไม่ทัน ได้ฟังแบบพากย์ไทยก็จำไม่ได้อีก จำได้แค่ประมาณว่า “คุณมีสิทธิ์ที่จะไม่พูด เพราะสิ่งที่คุณพูด …” อะไรก็ไม่รู้ ที่เหลือกำลังตื่นเต้นว่าตำรวจจับผู้ร้ายได้แล้วอยู่ ไม่ได้สนใจฟังเลย เมื่อสองวันก่อนได้ฟังรายละเอียดเรื่องนี้ผ่านทางวิทยุคลื่น 102.5 FM เลยเอามาหาข้อมูลเพิ่มเติมได้ว่า