Người ta thường biết nhiều tới bộ mã Unikey vì tính ổn định và tiện dụng của nó, dùng để gõ tiếng Việt cực kì thuận lợi, tuy nhiên còn có một bảng mã nữa mà ít ai biết tới: Vietnamese Locale CP 1258 !

Vietnamese Locale CP 1258 trong Unikey

Vietnamese Locale CP 1258 trong Unikey

Vietnamese Locale CP 1258 thực ra cũng giống như Unicode, nhưng đặc biệt, nó ứng dụng rất thực tiễn cho việc lập trình Visual Basic hoặc viết macro, tạo form trong các ứng dụng của Microsoft Office như Winword, Excel, Access…

Tiện ích

Khi tạo form trong các trình ứng dụng trên, nếu dùng các font Unicode như Tahoma, Tahoma, Times New Roman thì tiếng Việt hiển thị không đúng (hình 1), do đó lâu nay nhiều người thường dùng các font True Type VNI. Tuy nhiên font VNI không được sắc sảo bằng Unicode, mặc dù hiển thị đúng tiếng Việt. Để giải quyết vấn đề này, bạn hãy dùng mã tiếng Việt Vietnamese Locale CP 1258 như đã nói ở trên, khi gõ tiếng Việt sẽ hoàn toàn chính xác (hình 2). Cũng chọn các font Unicode, dùng kiểu gõ Telex hoặc VNI tùy ý bạn. Vì mã Vietnamese Locale CP 1258 này được dành riêng cho các chương trình của Microsoft, do đó rất tương thích với các font Unicode khi tạo form cũng như trong lập trình.

Mã Vietnamese Locale CP 1258 này còn ứng dụng rất tốt khi tạo các file Contents và Index trong việc tạo ebook bằng HTML Help Workshop dùng các font Unicode tiếng Việt rất thuận tiện và hiển thị chính xác (hình 3). Người dùng không cần thiết phải add thêm font vì thông thường các máy tính đều có các font Unicode này.

Bạn có thể thoải mái dùng mã Vietnamese Local CP 1258 thay cho mã Unicode thông thường mà không sợ sai sót trong lập trình cũng như trong văn bản, tạo trang web, hay gõ vào các trường phần mềm không hỗ trợ tiếng Việt hay Unicode !

Trong lập trình

Người lập trình sẽ bị bối rối khi so sánh hai STRING y hệt nhau nhưng lại không bằng nhau, ấy là do người nhập gõ mã CP 1258 lẫn cùng với Unicode dự sẵn, cứ thử đoạn mã sau trong PHP:

var_dump('ế' == 'ế');

Bạn sẽ luôn thấy nó trả về FALSE cho dù bạn có dùng hàm nào khác đi chăng nữa !

Khi debug tiếp bằng hàm htmlentities, thì chỉ có chữ ế đằng sau là có thể sang mã html là

ế”

Còn lại giữ nguyên chữ “ế”, cho nên ta đang so sánh hai kí tự khác hoàn toàn nhau, bạn cũng có thể thử bằng hàm json_encode sẽ cho ra hai mã khác hoàn toàn nhau !

Công việc của người lập trình là ngồi gõ toàn bộ bảng chữ cái tiếng Việt kèm dấu bằng cách gõ CP 1258 rồi dùng hàm strtr để thay thế bằng mã Unicode trước khi so sánh !

Chúc các bạn thành công !

Tôi là Jam, thâm niên 7 năm thiết kế website và làm seo, nếu các bạn thấy bài viết hay thì hãy chia sẻ cho những người khác cùng tham khảo, còn nếu muốn thiết kế website hoặc sửa web hay đặt một plugin có chức năng đặc biệt, hãy liên hệ ngay tới Jam ( thông tin ở chân trang )

Bài viết liên quan

  1. UpperCase và LowerCase trong tên biến PHP - 07-07-2016 16:07
  2. Tự viết CMS, nên hay không nên ? - 14-03-2016 17:03
  3. SEO: Không phải PHP tốt hơn .NET, mà là … - 20-02-2016 16:02
  4. Incapsula – Vượt qua phần mềm bảo mật website đáng giá nhất - 06-12-2015 14:12

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Lưu ý: Không đăng thông tin cá nhân của bạn như email hay số điện thoại để không bị quấy rầy, tham khảo thêm quy định khi comment !