我正在抓取網站並從其JSON中收集信息。結果保存在散列表中。但有些頁面給我「JSON字符串中格式錯誤的UTF-8字符」錯誤。我注意到「cafe」中的最後一個字母會產生錯誤。我認爲這是因爲字符類型的混合。所以現在我正在尋找一種方法將所有類型的字符轉換爲utf-8(希望有一種完美的方式)。我試過utf8 :: all,它只是不起作用(也許我沒有這樣做)。我是小白。請幫忙,謝謝。perl:將字符串轉換爲utf-8用於json解碼
UPDATA
好了,經過我讀了一篇文章 「Know the difference between character strings and UTF-8 strings」 發佈由Brian d FOY。我用代碼解決問題:
use utf8;
use Encode qw(encode_utf8);
use JSON;
my $json_data = qq({ "cat" : "Büster" });
$json_data = encode_utf8($json_data);
my $perl_hash = decode_json($json_data);
希望這對其他人有所幫助。
您可以發佈您迄今爲止所做的工作嗎? – iCanHasFay
我的問題解決了。感謝您的詢問。 –