5

Tôi muốn thay đổi mã hóa chuỗi từ UTF-8 thành ISO-8859-2 bằng Javascript. Tôi làm nó như thế nào?Thay đổi mã hóa từ UTF-8 thành ISO-8859-2 trong Javascript

Tôi cần nó vì tôi đã thiết kế một tiện ích. Người dùng chỉ cần sao chép < script> từ trang web của tôi và đặt nó trên của mình. Kịch bản này tạo div và đặt vào nội dung widget div với văn bản.

Nếu trang web mục tiêu trong mã hóa UTF-8 - nó hoạt động tốt. Nhưng khi nó ở ISO-8859-2 hơn văn bản được mã hóa trong UTF-8 được hiển thị trên trang web với ISO-8859-2 và kết quả là tôi thấy thùng rác.

+0

8859-1 hoặc 8859-2? – kennytm

+0

Có, 8859-2, đó là bảng ký tự cho ngôn ngữ Ba Lan của tôi –

+1

... Cái gì? Cả JavaScript và hầu hết các trình duyệt đều có thể xử lý UTF-8 tốt. –

Trả lời

2

Thay vì sử dụng ví dụ: "ĉ" trong mã JavaScript của bạn, sử dụng tính năng thoát Unicode như "\ u0109".

+0

và cách chuyển đổi tất cả các ký tự dấu phụ từ thường sang ký hiệu? –

0

Nếu bạn kiểm soát đầu ra, bạn có thể thay thế tất cả các ký tự đặc biệt bằng cách thoát unicode (ví dụ: \u00e4 cho ä). Trình duyệt có thể diễn giải chính xác bất kể mã hóa tài liệu.

Cách dễ nhất để thực hiện việc này là đặt chuỗi vào bộ mã hóa JSON. Cả PHP và Ruby đều làm điều đó. Tuy nhiên, không biết về các triển khai khác.

Một giải pháp khác có thể hoạt động là thêm charset="utf-8" vào thẻ <script>.

0

Tôi cho rằng bạn chỉ cần chuyển đổi wdiget của bạn từ UTF-8 sang ISO-8859-2 và cung cấp 2 phiên bản tập lệnh.