[Libreoffice-commits] core.git: Branch 'libreoffice-6-3' - connectivity/source
Tamas Bunth (via logerrit)
logerrit at kemper.freedesktop.org
Mon Jul 15 10:17:01 UTC 2019
connectivity/source/drivers/firebird/Connection.cxx | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
New commits:
commit 4897c78c4b0ce88b65d509066990bdf5ae444d9a
Author: Tamas Bunth <tamas.bunth at collabora.co.uk>
AuthorDate: Sat Jul 13 16:39:31 2019 +0200
Commit: Michael Stahl <Michael.Stahl at cib.de>
CommitDate: Mon Jul 15 12:16:16 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 <btomi96 at gmail.com>
Tested-by: Tamás Bunth <btomi96 at gmail.com>
(cherry picked from commit c19c206cf42ac178906a855ae3cd198e0fcf8d14)
Reviewed-on: https://gerrit.libreoffice.org/75567
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
diff --git a/connectivity/source/drivers/firebird/Connection.cxx b/connectivity/source/drivers/firebird/Connection.cxx
index b12eafb35cdf..6c2a6862e8bd 100644
--- a/connectivity/source/drivers/firebird/Connection.cxx
+++ b/connectivity/source/drivers/firebird/Connection.cxx
@@ -222,11 +222,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
More information about the Libreoffice-commits
mailing list