connectivity/source/drivers/firebird/Connection.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
New commits: commit 3173e00f428ea8cf79f36efb38d15028aca01d4a Author: Tamas Bunth <tamas.bu...@collabora.co.uk> AuthorDate: Sat Jul 13 16:39:31 2019 +0200 Commit: Xisco Faulí <xiscofa...@libreoffice.org> CommitDate: Wed Jul 17 12:26:55 2019 +0200 tdf#123150: Firebird: set UTF-8 client connection There are two options related to character sets when attaching or creating a database with the C API: - isc_dpb_lc_ctype: Sets the character set of the connection between the Firebird server and the Client (which is the sdbc driver in that case). That is required in order to pass UTF 8 literals correctly. - isc_dpb_set_db_charset: Sets the default character set of the database itself. It has the same effect as the following SQL statement: ALTER DATABASE SET DEFAULT CHARACTER SET <Charset> We need to set both of them to UTF-8. Change-Id: Ia9e5a4b87a3997c084be8abb68c2de813fbd631b Reviewed-on: https://gerrit.libreoffice.org/75557 Reviewed-by: Tamás Bunth <btom...@gmail.com> Tested-by: Tamás Bunth <btom...@gmail.com> (cherry picked from commit c19c206cf42ac178906a855ae3cd198e0fcf8d14) Reviewed-on: https://gerrit.libreoffice.org/75755 Reviewed-by: Michael Stahl <michael.st...@cib.de> Tested-by: Jenkins diff --git a/connectivity/source/drivers/firebird/Connection.cxx b/connectivity/source/drivers/firebird/Connection.cxx index ba2fba974d78..c707ca2c15ad 100644 --- a/connectivity/source/drivers/firebird/Connection.cxx +++ b/connectivity/source/drivers/firebird/Connection.cxx @@ -227,11 +227,15 @@ void Connection::construct(const OUString& url, const Sequence< PropertyValue >& dpbBuffer.push_back(1); // 1 byte long dpbBuffer.push_back(FIREBIRD_SQL_DIALECT); - // set UTF8 as default character set + // set UTF8 as default character set of the database const char sCharset[] = "UTF8"; dpbBuffer.push_back(isc_dpb_set_db_charset); dpbBuffer.push_back(sizeof(sCharset) - 1); dpbBuffer.append(sCharset); + // set UTF8 as default character set of the connection + dpbBuffer.push_back(isc_dpb_lc_ctype); + dpbBuffer.push_back(sizeof(sCharset) - 1); + dpbBuffer.append(sCharset); // Do any more dpbBuffer additions here _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits