freetds/Fix-some-collation-encoding-detection.patch
fandehui 5ed8515442 Fix some collation encoding detection
Serbian_Latin_100 is CP1250.
Bashkir_100, Bosnian_Cyrillic_100 and Yakut_100 are CP1251.

Signed-off-by: fandehui <fandehui@xfusion.com>
(cherry picked from commit 96e0aa3ac5a20b999ebe5348e7e037258705f251)
2023-12-28 20:29:47 +08:00

61 lines
1.4 KiB
Diff

From ee60a8809aad1c632cf7e492ab0336ff7dde9843 Mon Sep 17 00:00:00 2001
From: Frediano Ziglio <freddy77@gmail.com>
Date: Fri, 1 Mar 2019 09:55:07 +0000
Subject: [PATCH] Fix some collation encoding detection
Serbian_Latin_100 is CP1250.
Bashkir_100, Bosnian_Cyrillic_100 and Yakut_100 are CP1251.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
---
src/tds/iconv.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/tds/iconv.c b/src/tds/iconv.c
index 5aa9ce9f..5b828fa1 100644
--- a/src/tds/iconv.c
+++ b/src/tds/iconv.c
@@ -1033,7 +1033,7 @@ collate2charset(int sql_collate, int lcid)
case 0x41c:
case 0x424:
case 0x442:
- /* case 0x81a: seem wrong in XP table TODO check */
+ case 0x81a:
case 0x104e: /* ?? */
case 0x141a:
cp = TDS_CHARSET_CP1250;
@@ -1047,10 +1047,12 @@ collate2charset(int sql_collate, int lcid)
case 0x440:
case 0x444:
case 0x450:
- case 0x81a: /* ?? */
case 0x82c:
case 0x843:
case 0xc1a:
+ case 0x46d:
+ case 0x201a:
+ case 0x485:
cp = TDS_CHARSET_CP1251;
break;
case 0x1007:
@@ -1066,7 +1068,6 @@ collate2charset(int sql_collate, int lcid)
case 0x180c:
case 0x1c09:
case 0x1c0a:
- case 0x201a:
case 0x2009:
case 0x200a:
case 0x2409:
@@ -1114,8 +1115,6 @@ collate2charset(int sql_collate, int lcid)
case 0x440a:
case 0x441:
case 0x456:
- case 0x46d:
- case 0x485:
case 0x480a:
case 0x4c0a:
case 0x500a:
--
2.27.0