[ASP.NET MVC] Khắc phục lỗi chữ tiếng việt Unicode bị encode trong View

Làm web mà có tiếng Việt thì khổ nhất là chữ tiếng Việt nó cứ bị encode thành mấy ký tự vô nghĩa

Điều này ảnh hưởng đến nhìu thứ, đặc biệt là SEO, lưu trữ data lên DB, vân vân và vân vân.

Vậy khắc phục làm sao?

Nguồn gốc sâu xa

Lý do rất là củ chuối của nó là do trong tiếng Việt có một số ký tự trùng với các ký tự latin (trong cái bảng này nè: http://www.akadia.com/services/iso8859.html)

Để tránh bị nhầm lẫn giữa các ký tự latin này, rất nhìu ngôn ngữ lập trình tự động encode các ký tự này thành chuỗi mà máy có thể hiểu được

Chuỗi đó là gì?

Dùng trang này để convert qua lại online, bạn sẽ thấy: https://r12a.github.io/apps/conversion/

ASP.NET convert chuỗi đó sang một dạng code gọi là “Unicode Decimal Code”. Ví dụ: http://www.codetable.net/decimal/224

Cách khắc phục

  1. Mở file Web.config ra
  2. Tìm tag 
    <system.web>
  3. Thêm vào:
    <globalization fileEncoding="utf-8" />

Thành quả:

Thế là xong 😀

Bạn nào có cách khắc phục khác hay hơn thì nói cho mình biết với nhóe

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s