[Asterisk-code-review] func_odbc: acf_odbc_read() and cli_odbc_read() unicode support (...asterisk[master])
Boris P. Korzun
asteriskteam at digium.com
Tue Sep 3 18:13:07 CDT 2019
Boris P. Korzun has posted comments on this change. ( https://gerrit.asterisk.org/c/asterisk/+/12812 )
Change subject: func_odbc: acf_odbc_read() and cli_odbc_read() unicode support
......................................................................
Patch Set 4:
> Patch Set 4:
>
> > Patch Set 4:
> >
> > > Patch Set 4:
> > >
> > > I don't think the predefined multiplier is a good idea.
> > > The ODBC Driver Manager should resolve this issue.
> > > There are 2 encodings: server (driver) and client (application).
> > > If the server encoding is UTF16 and client is UTF8 then Driver Manager should convert UTF16 to UTF8 and vice versa. Look at SQL_ATTR_APP_UNICODE_TYPE and SQL_ATTR_DRIVER_UNICODE_TYPE
> >
> > Okay, it's theoretically possible to get server and client encodings. But how you offer to convert a buffer length for UTF16 (commonly used server encoding for Windows) to a buffer length for UTF8 (commonly used Asterisk, CLI, SIP-Phones encoding)? AFAIK, there're no algos for it in theory.
>
> I just did a test with MySQL.
>
> CREATE TABLE test_utf8 (
> test_fld varchar(200)
> ) DEFAULT CHARACTER SET utf8
> DEFAULT COLLATE utf8_general_ci;
>
> CREATE TABLE test_utf16 (
> test_fld varchar(200)
> ) DEFAULT CHARACTER SET utf16
> DEFAULT COLLATE utf16_general_ci;
>
> The SQLDescribeCol returns collen=200 for both tables.
> SQLColAttribute with SQL_DESC_OCTET_LENGTH returns
> test_utf8 - 600
> test_utf16 - 800
It's OK for MySQL (that can store the data in various encodings). But MS SQL (prior 2019) can store Unicode data (NCHAR/NVARCHAR/NTEXT types) in UTF-16 only.
--
To view, visit https://gerrit.asterisk.org/c/asterisk/+/12812
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Change-Id: I50e86c8a277996f13d4a4b9b318ece0d60b279bf
Gerrit-Change-Number: 12812
Gerrit-PatchSet: 4
Gerrit-Owner: Boris P. Korzun <drtr0jan at yandex.ru>
Gerrit-Reviewer: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Boris P. Korzun <drtr0jan at yandex.ru>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-CC: Sean Bright <sean.bright at gmail.com>
Gerrit-Comment-Date: Tue, 03 Sep 2019 23:13:07 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20190903/bd994968/attachment-0001.html>
More information about the asterisk-code-review
mailing list