2013-08-07 34 views
7

Tôi cố gắng gửi các ký tự như ü, ä, ß, à, v.v. lên twitter. Nếu tôi sử dụng các ký tự unicode trong các script của mình, chúng sẽ xuất hiện sai trong twitter. Nếu tôi sử dụng HTML (có thể trong giao diện web của twitter và được sử dụng để làm việc trước đây), tôi thấy bây giờ & # 252; thay vì "ü" trong bài đăng. Có một tham số hay cái gì đó mà tôi phải thiết lập? Một số cuộc gọi để mã hóa/giải mã? Tôi đang sử dụng:ký tự đặc biệt với Net :: Twitter :: Lite

use Net::Twitter::Lite::WithAPIv1_1;

+1

“họ đi ra sai trong twitter” -Điều gì thực hiện điều này nghĩa là gì? Bạn có thể hiển thị một ví dụ rõ ràng không? Ngoài ra, bạn có truyền các chuỗi unicode vào module hay bạn đã mã hóa chúng trước đó không? – amon

+0

Không biết nếu nó có liên quan, nhưng tôi đã tìm thấy ít nhất một vấn đề liên quan đến mã hóa khi thử mô-đun. Xem https://rt.cpan.org/Ticket/Display.html?id=87672 –

+0

Tôi đã từ bỏ nỗ lực HTML và viết lại toàn bộ mã của mình để sử dụng unicode. Sau đó, tôi nạp 'Mã hóa' và được gọi là' $ to_twitter = decode ("utf-8", $ to_twitter); '. Những công việc này. –

Trả lời

0

Hãy thử

use encoding 'utf8'; 

vào lúc bắt đầu của kịch bản của bạn. đôi khi đây là giải pháp của nhiều vấn đề utf8.

1

Tôi thấy mình đang kiểm tra bộ thử nghiệm các mô-đun perl khá thường xuyên vì đây là một nguồn tốt cho ví dụ.

Net :: Twitter dự kiến ​​ký tự được giải mã, không được mã hóa byte Vì vậy, gửi mã hóa utf8 sang Net :: Twitter sẽ dẫn đến dữ liệu được mã hóa kép.

Nguồn: https://metacpan.org/source/MMIMS/Net-Twitter-Lite-0.12006/t/unicode.t

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