[freeside-commits] branch master updated. b6088672c87e2c5984183326b4c0e2d9bd6c34f6

Mitch Jackson mitch at freeside.biz
Sat Sep 29 16:06:46 PDT 2018


The branch, master has been updated
       via  b6088672c87e2c5984183326b4c0e2d9bd6c34f6 (commit)
      from  8fe6c833babe44bb707b8c47273b04fe39edfbaf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b6088672c87e2c5984183326b4c0e2d9bd6c34f6
Author: Mitch Jackson <mitch at freeside.biz>
Date:   Sat Sep 29 18:48:39 2018 -0400

    RT# 79705 Correct UTF-8 output for generated E-Mail

diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm
index e951178cc..9dd08cfd8 100644
--- a/FS/FS/Record.pm
+++ b/FS/FS/Record.pm
@@ -3641,7 +3641,19 @@ sub _quote {
            && driver_name eq 'Pg'
           )
   {
-    dbh->quote($value, { pg_type => PG_BYTEA() });
+    local $@;
+
+    eval { $value = dbh->quote($value, { pg_type => PG_BYTEA() }); };
+
+    if ( $@ && $@ =~ /Wide character/i ) {
+      warn 'Correcting malformed UTF-8 string for binary quote()'
+        if $DEBUG;
+      utf8::decode($value);
+      utf8::encode($value);
+      $value = dbh->quote($value, { pg_type => PG_BYTEA() });
+    }
+
+    $value;
   } else {
     dbh->quote($value);
   }

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/Record.pm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)




More information about the freeside-commits mailing list