2011-11-10 8 views
5

Tôi có một trang web có vùng văn bản để người dùng nhập dữ liệu. Khi đọc giá trị của textarea trong javascript để so sánh nó với giá trị trước tôi nhận được giá trị với mã hóa nền tảng ('ä' =>% e4) trong khi giá trị của tôi từ cơ sở dữ liệu nằm trong mã hóa UTF-8 ('ä' => $% c3% a4). Mã hóa trang web là UTF-8, sử dụng thuộc tính mã hóa xml và bộ ký tự meta. Trình duyệt cũng cho biết nó đang sử dụng mã hóa UTF-8, nhưng vẫn textbox.value là trong mã hóa nền tảng.Mã hóa ký tự của textarea

Có ai có ý tưởng làm cách nào tôi có thể yêu cầu tác nhân người dùng trả lại giá trị textarea.value làm UTF-8 không?

+0

Câu hỏi này có thể sử dụng một số làm rõ. Ngôn ngữ phía máy chủ nào bạn đang sử dụng để đọc cơ sở dữ liệu? Chính xác bạn đang mã hóa trang web như thế nào? Bạn đang sử dụng "meta content ="? – mmcglynn

+1

Cảm ơn bạn đã bình luận của bạn, nhưng vì đây là gần một năm tuổi, tôi trong khi đó giải quyết vấn đề theo một cách khác. Để trả lời câu hỏi anyways: Trang XHTML được mã hóa bằng UTF-8 sử dụng thuộc tính mã hóa xml cộng với . Ngay cả khi tôi nhập văn bản vào trường văn bản theo cách thủ công, giá trị của nó luôn được mã hóa theo nền tảng. –

+1

… Sau đó, bạn nên trả lời câu hỏi của riêng bạn để nó không còn được đánh dấu 'chưa được trả lời'. – rhavin

Trả lời

0

Dưới đây có phải là giải pháp cho bạn không?

function encode_utf8(s) 
{ 
    return unescape(encodeURIComponent(s)); 
} 

nơi bạn gọi encode_utf8 với giá trị của hộp văn bản của bạn? Đây là một gợi ý từ một câu trả lời SO khác được tìm thấy here. Không hoàn toàn giống với vấn đề, nhưng giải pháp có thể được áp dụng.