Ignore XML declaration in xpath_internal(), for UTF8 databases.
When a value contained an XML declaration naming some other encoding, this function interpreted UTF8 bytes as the named encoding, yielding mojibake. xml_parse() already has similar logic. This would be necessary but not sufficient for non-UTF8 databases, so preserve behavior there until the xpath facility can support such databases comprehensively. Back-patch to 9.3 (all supported versions). Pavel Stehule and Noah Misch Discussion: https://postgr.es/m/CAFj8pRC-dM=tT=QkGi+Achkm+gwPmjyOayGuUfXVumCxkDgYWg@mail.gmail.com
Showing
- src/backend/utils/adt/xml.c 13 additions, 1 deletionsrc/backend/utils/adt/xml.c
- src/test/regress/expected/xml.out 31 additions, 0 deletionssrc/test/regress/expected/xml.out
- src/test/regress/expected/xml_1.out 35 additions, 0 deletionssrc/test/regress/expected/xml_1.out
- src/test/regress/expected/xml_2.out 31 additions, 0 deletionssrc/test/regress/expected/xml_2.out
- src/test/regress/sql/xml.sql 32 additions, 0 deletionssrc/test/regress/sql/xml.sql
Loading
Please register or sign in to comment