Hôm nay đụng một dự án có vấn đề như sau: người dùng sẽ nhập dữ liệu từ các form vào và dữ liệu sẽ thông qua thư viện hàm XMLRPC để gửi về máy chủ (đặt khác server) và dữ liệu gửi đi là tiếng… Trung nên bị lỗi không thể gửi đi.
Nói chung lúc đầu cũng chưa biết nguyên nhân lỗi nhưng đã nghĩ nguyên nhân này nhưng sau vài lần thử thì chính xác là lỗi này. Giải pháp đưa ra có thể là nghiên cứu cái hàm trong XMLRPC để hỗ trợ ký tự định dạng tiếng Trung. Tuy nhiên mò cũng mệt lắm nên chọn giải pháp khác: mã hóa ký tự trung thành ký tự bình thường rồi gửi.
Ngồi ngẫm nếu tự viết hàm thì rắc rối mà nhu cầu thì không cần kỳ công như vậy và giải pháp cho đơn giản là dùng hàm có sẵn của PHP. Nhân đây cũng xin giới thiệu một số hàm giản đơn mà bạn có thể sử dụng:
- urlencode() – urldecode(): Hàm dùng để mã hóa / giải mã kiểu chuẩn URL
- base64_encode() – base64_decode(): Hàm mã hóa / giải mã chuẩn base64
Ngoài ra còn có các hàm khác như: utf8_encode() / utf8_decode(), rawurlencode() / rawurldecode(),… tùy vào nhu cầu sử dụng mà bạn có thể dùng cho phù hợp.
Huỳnh Mai Anh Kiệt