0
我使用Mojolicious(不是Lite)和CPAN::Redis一起使用。顯示無效UTF-8的Mojolicious模板
我存儲一些數據,這是日本的編碼以這樣的方式
use Redis;
my $redis = Redis->new;
$redis->set("mykey",$val);
# $val contains a string which was read from a file.
# The value looks like: テスト
代碼後來,我讀了Redis的那個值:
my $val = $redis->get("mykey");
print Dumper($val); #the value prints correctly in terminal
$self->stash(
myvalue => $val
);
$self->render(
template => "/pages/test"
);
而且模板:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div><%= $myvalue %></div>
...
但它顯示的值如:ã¹¹ã。
在瀏覽器中手動更改字符集沒有區別(不按預期顯示)。
爲什麼如果它在終端中正確顯示,它在模板中顯示不正確?
注:
- 我用的base64編碼/解碼,並沒有改變(我敢肯定,它不是Redis的)。
- 我有日語字體和設置正確安裝(我一直在使用日語編碼多年,但第一次使用Mojolicious模板進行此任務)。
- 所有文件都以UTF-8格式保存(不使用其他編碼)。
- 如果我在模板內寫入了一些日文內容(硬編碼),它會正確顯示。