• Tom Lane's avatar
    Fix plperl to handle non-ASCII error message texts correctly. · b631a46e
    Tom Lane authored
    We were passing error message texts to croak() verbatim, which turns out
    not to work if the text contains non-ASCII characters; Perl mangles their
    encoding, as reported in bug #13638 from Michal Leinweber.  To fix, convert
    the text into a UTF8-encoded SV first.
    
    It's hard to test this without risking failures in different database
    encodings; but we can follow the lead of plpython, which is already
    assuming that no-break space (U+00A0) has an equivalent in all encodings
    we care about running the regression tests in (cf commit 2dfa15de).
    
    Back-patch to 9.1.  The code is quite different in 9.0, and anyway it seems
    too risky to put something like this into 9.0's final minor release.
    
    Alex Hunsaker, with suggestions from Tim Bunce and Tom Lane
    b631a46e
Util.xs 4.73 KB