From 8971fb03cc8bf443294331dedc262d68f4d0f60e Mon Sep 17 00:00:00 2001 From: Mitch Jackson Date: Sat, 29 Sep 2018 18:48:39 -0400 Subject: RT# 79705 Correct UTF-8 output for generated E-Mail --- FS/FS/Record.pm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'FS/FS/Record.pm') diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index 08d681e..ce12a16 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -3629,7 +3629,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); } -- cgit v1.1