2013-10-09 15 views
9

Nếu bạn sao chép liên kết dưới đây vào trình duyệtCách nhanh nhất để mã hóa chữ Cyrillic cho url

http://be.wikipedia.org/wiki/Беларусь 

nó sẽ hiển thị các bài viết Wiki. Nhưng một khi bạn muốn sao chép liên kết (hoặc bất kỳ liên kết khác có chứa ký tự Cyrillic) từ url trình duyệt vào notepad, bạn sẽ nhận được một cái gì đó như thế này:

http://be.wikipedia.org/wiki/%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C 

Bạn có thể nhấp vào bất kỳ liên kết trong wikipedia có chứa các chữ cái cyrillic trong văn bản và cố gắng sao chép nó vào Notepad.

Vì vậy, câu hỏi của tôi là:

gì là cách đúng nhất hoặc nhanh nhất để chuyển đổi bất kỳ văn bản có chứa chữ Cyrillic Беларусь vào %D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C hoặc bất kỳ văn bản khác vào loại như vậy của code để nó là một phần giá trị của URL ? Có chức năng javascript đặc biệt nào cho mục đích đó không?

Tôi đã kiểm tra, nó thực sự là: bức thư vốn cyrillic Б = (hex) D0 91 cho UTF-8. Đó là lý do tại sao nó là% D0% 91 và cứ thế.

Trả lời

10

Chức năng bạn đang tìm kiếm là encodeURIComponent.

encodeURIComponent("Беларусь"); 
// returns "%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C" 

Đối tác của nó là decodeURIComponent để đảo ngược quy trình này.

decodeURIComponent("%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C"); 
// returns "Беларусь" 
+0

Cảm ơn bạn! Đó chính xác là những gì tôi đang tìm kiếm. – Haradzieniec

1

Tôi đoán encodeURI(string) phải là những gì bạn đang tìm kiếm. Chỉ cần xem các câu trả lời hiện có cho cùng một câu hỏi, ví dụ: here!

Các vấn đề liên quan