]> git.etc.gen.nz Git - mythtv-status.git/commitdiff
Encode UTF-8 strings before we print out out.
authorAndrew Ruthven <andrew@etc.gen.nz>
Fri, 6 Jul 2012 05:29:17 +0000 (17:29 +1200)
committerAndrew Ruthven <andrew@etc.gen.nz>
Fri, 6 Jul 2012 05:29:17 +0000 (17:29 +1200)
ChangeLog
bin/mythtv-status

index ce514f7a86d7b7e523bf7d8f19a763ec49032ab5..4154c85c66b8191e00cf7cb4123115c53600356a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2012-07-06     Andrew Ruthven
+       Correctly handle UTF-8 in the output from MythTV.
+
 2012-06-14     Andrew Ruthven
        Setting $0 stopped --help and -? from working, fix that.
 
index f1e458f86e8632c904476be309aa1c34802f76d5..c63394d695aec8b864ebee7f2ef99a4d8d247663 100755 (executable)
@@ -27,6 +27,7 @@ use MIME::Entity;
 use Pod::Usage;
 use Config::Auto;
 use Sys::SigAction qw/timeout_call/;
+use Encode;
 
 # Try and load a config file first, and then allow the command line
 # to over ride what is in the config file.
@@ -85,7 +86,7 @@ my @size_thresholds = (
 
 my $return_code_only = 0;
 
-my $VERSION = '0.10.2';
+my $VERSION = '0.10.3';
 
 # Some display blocks are disabled by default:
 $c->{'display'}{'Shows due to Auto Expire'} = 0;
@@ -621,6 +622,9 @@ if (scalar(@oneliners) > 0) {
 if ($return_code_only) {
   exit $exit_value;
 } elsif (scalar(@{ $c->{'email'} }) == 0) {
+  if ($charset =~ /utf(-)?8/i) {
+    $output = encode('UTF-8', $output);
+  }
   print "\n$output";
 } else {
   if ((! $c->{'email_only_on_alert'}) ||
@@ -1095,8 +1099,12 @@ sub xml_fetch {
     die "Sorry, failed to fetch $url: " . $response->status_line . "\n"
       unless $response->is_success;
 
+    my $content = $response->decoded_content;
+    if ($response->header('Content-Type') =~ /utf(-)?8/i) {
+      $content = encode('UTF-8', $content);
+    }
     print $response->header('Content-Type') . "\n";
-    print $response->decoded_content . "\n";
+    print $content . "\n";
 
     exit 0;
   }