[MDEV-6715] GBK: bad results for SELECT "\{BF5C}\t' Created: 2014-09-09  Updated: 2018-01-10

Status: Open
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.3.12, 5.5.39, 10.0.13
Fix Version/s: 5.5

Type: Bug Priority: Minor
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Multi-byte GBK characters with 0x5C do not work well in
combination with surrounding backslash escapes.

To repeat the bug, run a gnome-terminal session and set
its character set to GBK:

Terminal -> Character Coding -> Simplified Chinese (GBK)

Run this command:

LANG=zh_CN.gbk mysql --default-character-set=gbk test

and execute this script:

SET NAMES gbk;
SELECT HEX('縗\t'),HEX('\縗\t');

The output does not look correct:

+-------------+--------------+
| HEX('縗\t') | HEX('\縗\t') |
+-------------+--------------+
| BF5C09      | BF5C74       |
+-------------+--------------+

According to the manual section "String Literals":

For all other escape sequences, backslash is ignored. That is, the escaped character is interpreted as if it was not escaped.

That is '\縗' should be interpreted as just '縗 (0xBF5C),
then '\t' should be interpreted as TAB (0x09).

The expected result should be BF5C09 for both columns.


Generated at Thu Feb 08 07:14:02 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.