diff -urN Template-Toolkit-2.19/lib/Template/Filters.pm Template-Toolkit-2.19.new/lib/Template/Filters.pm
--- Template-Toolkit-2.19/lib/Template/Filters.pm	2007-04-28 02:56:05.000000000 +0900
+++ Template-Toolkit-2.19.new/lib/Template/Filters.pm	2007-09-04 09:55:09.000000000 +0900
@@ -270,7 +270,7 @@
         map { ( chr($_), sprintf("%%%02X", $_) ) } (0..255),
     };
 
-    if ($] >= 5.008) {
+    if ($] >= 5.008 and utf8::is_utf8($text)) {
         utf8::encode($text);
     }
     
@@ -295,7 +295,7 @@
         map { ( chr($_), sprintf("%%%02X", $_) ) } (0..255),
     };
 
-    if ($] >= 5.008) {
+    if ($] >= 5.008 and utf8::is_utf8($text)) {
         utf8::encode($text);
     }
     
