Khi bạn nói "trông như thế này," được bạn xem giá trị IRB này? Nó sẽ loại bỏ các ký tự không thuộc phạm vi ASCII với việc thoát kiểu C của các chuỗi byte đại diện cho các ký tự.
Nếu bạn in chúng bằng cách đặt, bạn sẽ lấy lại chúng như bạn mong đợi, giả sử bảng điều khiển vỏ của bạn đang sử dụng cùng một mã hóa như chuỗi đang đề cập (Dường như UTF-8 trong trường hợp này, dựa trên hai byte được trả về cho nhân vật đó). Nếu bạn đang lưu trữ các giá trị trong một tập tin văn bản, việc in một tay cầm cũng sẽ dẫn đến các chuỗi UTF-8.
Nếu bạn cần dịch giữa UTF-8 và các mã hóa khác, chi tiết cụ thể tùy thuộc vào việc bạn đang ở trong Ruby 1.9 hay 1.8.6.
Đối với 1,9: http://blog.grayproductions.net/articles/ruby_19s_string cho 1,8, bạn có thể cần phải xem Iconv.
Ngoài ra, nếu bạn cần phải tương tác với các thành phần COM trong Windows, bạn sẽ cần phải nói với ruby sử dụng mã hóa đúng với một cái gì đó như sau:
require 'win32ole'
WIN32OLE.codepage = WIN32OLE::CP_UTF8
Nếu bạn đang tương tác với mysql, bạn sẽ cần đặt collation trên bảng thành bảng có hỗ trợ mã hóa mà bạn đang làm việc. Nói chung, tốt nhất là đặt collation thành UTF-8, ngay cả khi một số nội dung của bạn quay trở lại trong các mã hóa khác; bạn sẽ chỉ cần chuyển đổi nếu cần.
Nokogiri có một số tính năng để xử lý các mã hóa khác nhau (có thể thông qua Iconv), nhưng tôi hơi thiếu thực hành với điều đó, vì vậy tôi sẽ để lại lời giải thích cho người khác.
Nó sẽ hỗ trợ cho những người giúp đỡ nếu chúng tôi có thể có URL đến trang web để chúng tôi có thể kiểm tra nó. –
Làm thế nào để bạn kiểm tra tiêu đề sau đó và phiên bản Ruby bạn đang sử dụng? 'Rag \ 303 \ 271' _is_' Ragù' UTF-8 được mã hóa. –
Xin chào Mladen, tôi đang sử dụng Ruby 1.8.6. Tôi đang kiểm tra tiêu đề từ giao diện điều khiển tương tác của Ruby. Cuối cùng, nó kết thúc được lưu trữ trong cơ sở dữ liệu MySQL. Một khi trong MySQL nó trông giống như: ¹ – Moe