From 722f7efdd96e979b4c8e081eb31e0ea0f08b3591 Mon Sep 17 00:00:00 2001
From: Tatsuo Ishii <ishii@postgresql.org>
Date: Mon, 16 Apr 2001 06:10:19 +0000
Subject: [PATCH] Correction for mathematical properties in Unicode converison
 maps. Patches contributed by Eiji Tokuya (e-tokuya@sankyo-unyu.co.jp)

---
 src/backend/utils/mb/Unicode/UCS_to_BIG5.pl   |  6 +-
 src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl |  6 +-
 src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl | 14 ++--
 src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl |  6 +-
 src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl |  6 +-
 src/backend/utils/mb/Unicode/UCS_to_SJIS.pl   |  6 +-
 src/backend/utils/mb/Unicode/big5_to_utf8.map | 11 ++-
 .../utils/mb/Unicode/euc_cn_to_utf8.map       | 21 ++++-
 .../utils/mb/Unicode/euc_jp_to_utf8.map       | 84 ++++++++++++++++++-
 .../utils/mb/Unicode/euc_kr_to_utf8.map       | 33 +++++++-
 .../utils/mb/Unicode/euc_tw_to_utf8.map       | 14 +++-
 src/backend/utils/mb/Unicode/sjis_to_utf8.map | 10 ++-
 src/backend/utils/mb/Unicode/utf8_to_big5.map | 11 ++-
 .../utils/mb/Unicode/utf8_to_euc_cn.map       | 21 ++++-
 .../utils/mb/Unicode/utf8_to_euc_jp.map       | 84 ++++++++++++++++++-
 .../utils/mb/Unicode/utf8_to_euc_kr.map       | 33 +++++++-
 .../utils/mb/Unicode/utf8_to_euc_tw.map       |  8 +-
 src/backend/utils/mb/Unicode/utf8_to_sjis.map | 10 ++-
 18 files changed, 350 insertions(+), 34 deletions(-)

diff --git a/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl b/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl
index 304a003edac..c0f6348029c 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl
@@ -2,7 +2,7 @@
 #
 # Copyright 2001 by PostgreSQL Global Development Group
 #
-# $Id: UCS_to_BIG5.pl,v 1.1 2000/10/30 10:40:29 ishii Exp $
+# $Id: UCS_to_BIG5.pl,v 1.2 2001/04/16 06:10:18 ishii Exp $
 #
 # Generate UTF-8 <--> BIG5 code conversion tables from
 # map files provided by Unicode organization.
@@ -32,7 +32,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $utf } ne "" ){
 			printf STDERR "Warning: duplicate unicode: %04x\n",$ucs;
@@ -81,7 +81,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $code } ne "" ){
 			printf STDERR "Warning: duplicate code: %04x\n",$ucs;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl
index 50623a1aa55..baa62df5f45 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl
@@ -2,7 +2,7 @@
 #
 # Copyright 2001 by PostgreSQL Global Development Group
 #
-# $Id: UCS_to_EUC_CN.pl,v 1.1 2000/10/30 10:40:29 ishii Exp $
+# $Id: UCS_to_EUC_CN.pl,v 1.2 2001/04/16 06:10:18 ishii Exp $
 #
 # Generate UTF-8 <--> EUC_CN code conversion tables from
 # map files provided by Unicode organization.
@@ -32,7 +32,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $utf } ne "" ){
 			printf STDERR "Warning: duplicate unicode: %04x\n",$ucs;
@@ -81,7 +81,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $code } ne "" ){
 			printf STDERR "Warning: duplicate code: %04x\n",$ucs;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
index 2bcffb718f4..129848a74c4 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
@@ -2,7 +2,7 @@
 #
 # Copyright 2001 by PostgreSQL Global Development Group
 #
-# $Id: UCS_to_EUC_JP.pl,v 1.1 2000/10/30 10:40:29 ishii Exp $
+# $Id: UCS_to_EUC_JP.pl,v 1.2 2001/04/16 06:10:18 ishii Exp $
 #
 # Generate UTF-8 <--> EUC_JP code conversion tables from
 # map files provided by Unicode organization.
@@ -48,7 +48,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $utf } ne "" ){
 			printf STDERR "Warning: duplicate unicode: %04x\n",$ucs;
@@ -77,7 +77,7 @@ while( <FILE> ){
 	( $s, $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $utf } ne "" ){
 			printf STDERR "Warning: duplicate unicode: %04x\n",$ucs;
@@ -105,7 +105,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $utf } ne "" ){
 			printf STDERR "Warning: duplicate unicode: %04x\n",$ucs;
@@ -160,7 +160,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $code } ne "" ){
 			printf STDERR "Warning: duplicate code: %04x\n",$ucs;
@@ -190,7 +190,7 @@ while( <FILE> ){
 	( $s, $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $code } ne "" ){
 			printf STDERR "Warning: duplicate code: %04x\n",$ucs;
@@ -219,7 +219,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $code } ne "" ){
 			printf STDERR "Warning: duplicate code: %04x\n",$ucs;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl
index c8565488cc6..2cc92131a66 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl
@@ -2,7 +2,7 @@
 #
 # Copyright 2001 by PostgreSQL Global Development Group
 #
-# $Id: UCS_to_EUC_KR.pl,v 1.1 2000/10/30 10:40:29 ishii Exp $
+# $Id: UCS_to_EUC_KR.pl,v 1.2 2001/04/16 06:10:18 ishii Exp $
 #
 # Generate UTF-8 <--> EUC_KR code conversion tables from
 # map files provided by Unicode organization.
@@ -32,7 +32,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $utf } ne "" ){
 			printf STDERR "Warning: duplicate unicode: %04x\n",$ucs;
@@ -81,7 +81,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $code } ne "" ){
 			printf STDERR "Warning: duplicate code: %04x\n",$ucs;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl
index 303f9ad0077..1d822f6da96 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl
@@ -2,7 +2,7 @@
 #
 # Copyright 2001 by PostgreSQL Global Development Group
 #
-# $Id: UCS_to_EUC_TW.pl,v 1.1 2000/10/30 10:40:29 ishii Exp $
+# $Id: UCS_to_EUC_TW.pl,v 1.2 2001/04/16 06:10:18 ishii Exp $
 #
 # Generate UTF-8 <--> EUC_TW code conversion tables from
 # map files provided by Unicode organization.
@@ -33,7 +33,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $utf } ne "" ){
 			printf STDERR "Warning: duplicate unicode: %04x\n",$ucs;
@@ -92,7 +92,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		if( $array{ $code } ne "" ){
 			printf STDERR "Warning: duplicate code: %04x\n",$ucs;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl b/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
index 567dcca3818..eeb34521ef6 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
@@ -2,7 +2,7 @@
 #
 # Copyright 2001 by PostgreSQL Global Development Group
 #
-# $Id: UCS_to_SJIS.pl,v 1.2 2001/02/23 08:44:33 ishii Exp $
+# $Id: UCS_to_SJIS.pl,v 1.3 2001/04/16 06:10:18 ishii Exp $
 #
 # Generate UTF-8 <--> SJIS code conversion tables from
 # map files provided by Unicode organization.
@@ -34,7 +34,7 @@ while( <FILE> ){
     ( $c, $u, $rest ) = split;
   $ucs = hex($u);
   $code = hex($c);
-  if( $code >= 0x80 && $ucs >= 0x100 ){
+  if( $code >= 0x80 && $ucs >= 0x0080 ){
     $utf = &ucs2utf($ucs);
     if((( $code >= 0xed40 )
 	&& ( $code <= 0xeefc ))
@@ -100,7 +100,7 @@ while( <FILE> ){
 	( $c, $u, $rest ) = split;
 	$ucs = hex($u);
 	$code = hex($c);
-	if( $code >= 0x80 && $ucs >= 0x100 ){
+	if( $code >= 0x80 && $ucs >= 0x0080 ){
 		$utf = &ucs2utf($ucs);
 		$count++;
 
diff --git a/src/backend/utils/mb/Unicode/big5_to_utf8.map b/src/backend/utils/mb/Unicode/big5_to_utf8.map
index f28ab820dc1..3c98e39778f 100644
--- a/src/backend/utils/mb/Unicode/big5_to_utf8.map
+++ b/src/backend/utils/mb/Unicode/big5_to_utf8.map
@@ -1,4 +1,4 @@
-static pg_local_to_utf LUmapBIG5[ 13701 ] = {
+static pg_local_to_utf LUmapBIG5[ 13710 ] = {
   {0xa140, 0xe38080},
   {0xa141, 0xefbc8c},
   {0xa142, 0xe38081},
@@ -15,6 +15,7 @@ static pg_local_to_utf LUmapBIG5[ 13701 ] = {
   {0xa14d, 0xefb990},
   {0xa14e, 0xefbda4},
   {0xa14f, 0xefb992},
+  {0xa150, 0xc2b7},
   {0xa151, 0xefb994},
   {0xa152, 0xefb995},
   {0xa153, 0xefb996},
@@ -77,6 +78,7 @@ static pg_local_to_utf LUmapBIG5[ 13701 ] = {
   {0xa1ae, 0xefbc86},
   {0xa1af, 0xefbc8a},
   {0xa1b0, 0xe280bb},
+  {0xa1b1, 0xc2a7},
   {0xa1b2, 0xe38083},
   {0xa1b3, 0xe2978b},
   {0xa1b4, 0xe2978f},
@@ -108,6 +110,9 @@ static pg_local_to_utf LUmapBIG5[ 13701 ] = {
   {0xa1ce, 0xefb9a1},
   {0xa1cf, 0xefbc8b},
   {0xa1d0, 0xefbc8d},
+  {0xa1d1, 0xc397},
+  {0xa1d2, 0xc3b7},
+  {0xa1d3, 0xc2b1},
   {0xa1d4, 0xe2889a},
   {0xa1d5, 0xefbc9c},
   {0xa1d6, 0xefbc9e},
@@ -155,7 +160,10 @@ static pg_local_to_utf LUmapBIG5[ 13701 ] = {
   {0xa241, 0xefbc8f},
   {0xa242, 0xefbcbc},
   {0xa243, 0xefbc84},
+  {0xa244, 0xc2a5},
   {0xa245, 0xe38092},
+  {0xa246, 0xc2a2},
+  {0xa247, 0xc2a3},
   {0xa248, 0xefbc85},
   {0xa249, 0xefbca0},
   {0xa24a, 0xe28483},
@@ -172,6 +180,7 @@ static pg_local_to_utf LUmapBIG5[ 13701 ] = {
   {0xa255, 0xe38e8e},
   {0xa256, 0xe38e8f},
   {0xa257, 0xe38f84},
+  {0xa258, 0xc2b0},
   {0xa259, 0xe58599},
   {0xa25a, 0xe5859b},
   {0xa25b, 0xe5859e},
diff --git a/src/backend/utils/mb/Unicode/euc_cn_to_utf8.map b/src/backend/utils/mb/Unicode/euc_cn_to_utf8.map
index 80f857dc4f7..fcbf486c742 100644
--- a/src/backend/utils/mb/Unicode/euc_cn_to_utf8.map
+++ b/src/backend/utils/mb/Unicode/euc_cn_to_utf8.map
@@ -1,10 +1,11 @@
-static pg_local_to_utf LUmapEUC_CN[ 7426 ] = {
+static pg_local_to_utf LUmapEUC_CN[ 7445 ] = {
   {0xa1a1, 0xe38080},
   {0xa1a2, 0xe38081},
   {0xa1a3, 0xe38082},
   {0xa1a4, 0xe383bb},
   {0xa1a5, 0xcb89},
   {0xa1a6, 0xcb87},
+  {0xa1a7, 0xc2a8},
   {0xa1a8, 0xe38083},
   {0xa1a9, 0xe38085},
   {0xa1aa, 0xe28095},
@@ -29,6 +30,9 @@ static pg_local_to_utf LUmapEUC_CN[ 7426 ] = {
   {0xa1bd, 0xe38097},
   {0xa1be, 0xe38090},
   {0xa1bf, 0xe38091},
+  {0xa1c0, 0xc2b1},
+  {0xa1c1, 0xc397},
+  {0xa1c2, 0xc3b7},
   {0xa1c3, 0xe288b6},
   {0xa1c4, 0xe288a7},
   {0xa1c5, 0xe288a8},
@@ -61,13 +65,16 @@ static pg_local_to_utf LUmapEUC_CN[ 7426 ] = {
   {0xa1e0, 0xe288b4},
   {0xa1e1, 0xe29982},
   {0xa1e2, 0xe29980},
+  {0xa1e3, 0xc2b0},
   {0xa1e4, 0xe280b2},
   {0xa1e5, 0xe280b3},
   {0xa1e6, 0xe28483},
   {0xa1e7, 0xefbc84},
+  {0xa1e8, 0xc2a4},
   {0xa1e9, 0xefbfa0},
   {0xa1ea, 0xefbfa1},
   {0xa1eb, 0xe280b0},
+  {0xa1ec, 0xc2a7},
   {0xa1ed, 0xe28496},
   {0xa1ee, 0xe29886},
   {0xa1ef, 0xe29885},
@@ -536,19 +543,31 @@ static pg_local_to_utf LUmapEUC_CN[ 7426 ] = {
   {0xa7f0, 0xd18e},
   {0xa7f1, 0xd18f},
   {0xa8a1, 0xc481},
+  {0xa8a2, 0xc3a1},
   {0xa8a3, 0xc78e},
+  {0xa8a4, 0xc3a0},
   {0xa8a5, 0xc493},
+  {0xa8a6, 0xc3a9},
   {0xa8a7, 0xc49b},
+  {0xa8a8, 0xc3a8},
   {0xa8a9, 0xc4ab},
+  {0xa8aa, 0xc3ad},
   {0xa8ab, 0xc790},
+  {0xa8ac, 0xc3ac},
   {0xa8ad, 0xc58d},
+  {0xa8ae, 0xc3b3},
   {0xa8af, 0xc792},
+  {0xa8b0, 0xc3b2},
   {0xa8b1, 0xc5ab},
+  {0xa8b2, 0xc3ba},
   {0xa8b3, 0xc794},
+  {0xa8b4, 0xc3b9},
   {0xa8b5, 0xc796},
   {0xa8b6, 0xc798},
   {0xa8b7, 0xc79a},
   {0xa8b8, 0xc79c},
+  {0xa8b9, 0xc3bc},
+  {0xa8ba, 0xc3aa},
   {0xa8c5, 0xe38485},
   {0xa8c6, 0xe38486},
   {0xa8c7, 0xe38487},
diff --git a/src/backend/utils/mb/Unicode/euc_jp_to_utf8.map b/src/backend/utils/mb/Unicode/euc_jp_to_utf8.map
index 9eb2413a89b..47efc839277 100644
--- a/src/backend/utils/mb/Unicode/euc_jp_to_utf8.map
+++ b/src/backend/utils/mb/Unicode/euc_jp_to_utf8.map
@@ -1,4 +1,4 @@
-static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
+static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
   {0x8ea1, 0xefbda1},
   {0x8ea2, 0xefbda2},
   {0x8ea3, 0xefbda3},
@@ -74,7 +74,9 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0xa1aa, 0xefbc81},
   {0xa1ab, 0xe3829b},
   {0xa1ac, 0xe3829c},
+  {0xa1ad, 0xc2b4},
   {0xa1ae, 0xefbd80},
+  {0xa1af, 0xc2a8},
   {0xa1b0, 0xefbcbe},
   {0xa1b1, 0xefbfa3},
   {0xa1b2, 0xefbcbf},
@@ -120,6 +122,9 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0xa1db, 0xe38091},
   {0xa1dc, 0xefbc8b},
   {0xa1dd, 0xe28892},
+  {0xa1de, 0xc2b1},
+  {0xa1df, 0xc397},
+  {0xa1e0, 0xc3b7},
   {0xa1e1, 0xefbc9d},
   {0xa1e2, 0xe289a0},
   {0xa1e3, 0xefbc9c},
@@ -130,16 +135,20 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0xa1e8, 0xe288b4},
   {0xa1e9, 0xe29982},
   {0xa1ea, 0xe29980},
+  {0xa1eb, 0xc2b0},
   {0xa1ec, 0xe280b2},
   {0xa1ed, 0xe280b3},
   {0xa1ee, 0xe28483},
   {0xa1ef, 0xefbfa5},
   {0xa1f0, 0xefbc84},
+  {0xa1f1, 0xc2a2},
+  {0xa1f2, 0xc2a3},
   {0xa1f3, 0xefbc85},
   {0xa1f4, 0xefbc83},
   {0xa1f5, 0xefbc86},
   {0xa1f6, 0xefbc8a},
   {0xa1f7, 0xefbca0},
+  {0xa1f8, 0xc2a7},
   {0xa1f9, 0xe29886},
   {0xa1fa, 0xe29885},
   {0xa1fb, 0xe2978b},
@@ -170,6 +179,7 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0xa2c1, 0xe288a9},
   {0xa2ca, 0xe288a7},
   {0xa2cb, 0xe288a8},
+  {0xa2cc, 0xc2ac},
   {0xa2cd, 0xe28792},
   {0xa2ce, 0xe28794},
   {0xa2cf, 0xe28880},
@@ -196,6 +206,7 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0xa2f6, 0xe299aa},
   {0xa2f7, 0xe280a0},
   {0xa2f8, 0xe280a1},
+  {0xa2f9, 0xc2b6},
   {0xa2fe, 0xe297af},
   {0xa3b0, 0xefbc90},
   {0xa3b1, 0xefbc91},
@@ -6931,13 +6942,23 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0xf4a6, 0xe78699},
   {0x8fa2af, 0xcb98},
   {0x8fa2b0, 0xcb87},
+  {0x8fa2b1, 0xc2b8},
   {0x8fa2b2, 0xcb99},
   {0x8fa2b3, 0xcb9d},
+  {0x8fa2b4, 0xc2af},
   {0x8fa2b5, 0xcb9b},
   {0x8fa2b6, 0xcb9a},
   {0x8fa2b8, 0xce84},
   {0x8fa2b9, 0xce85},
+  {0x8fa2c2, 0xc2a1},
+  {0x8fa2c3, 0xc2a6},
+  {0x8fa2c4, 0xc2bf},
+  {0x8fa2eb, 0xc2ba},
+  {0x8fa2ec, 0xc2aa},
+  {0x8fa2ed, 0xc2a9},
+  {0x8fa2ee, 0xc2ae},
   {0x8fa2ef, 0xe284a2},
+  {0x8fa2f0, 0xc2a4},
   {0x8fa2f1, 0xe28496},
   {0x8fa6e1, 0xce86},
   {0x8fa6e2, 0xce88},
@@ -6986,15 +7007,20 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8fa7fc, 0xd19c},
   {0x8fa7fd, 0xd19e},
   {0x8fa7fe, 0xd19f},
+  {0x8fa9a1, 0xc386},
   {0x8fa9a2, 0xc490},
   {0x8fa9a4, 0xc4a6},
   {0x8fa9a6, 0xc4b2},
   {0x8fa9a8, 0xc581},
   {0x8fa9a9, 0xc4bf},
   {0x8fa9ab, 0xc58a},
+  {0x8fa9ac, 0xc398},
   {0x8fa9ad, 0xc592},
   {0x8fa9af, 0xc5a6},
+  {0x8fa9b0, 0xc39e},
+  {0x8fa9c1, 0xc3a6},
   {0x8fa9c2, 0xc491},
+  {0x8fa9c3, 0xc3b0},
   {0x8fa9c4, 0xc4a7},
   {0x8fa9c5, 0xc4b1},
   {0x8fa9c6, 0xc4b3},
@@ -7003,17 +7029,31 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8fa9c9, 0xc580},
   {0x8fa9ca, 0xc589},
   {0x8fa9cb, 0xc58b},
+  {0x8fa9cc, 0xc3b8},
   {0x8fa9cd, 0xc593},
+  {0x8fa9ce, 0xc39f},
   {0x8fa9cf, 0xc5a7},
+  {0x8fa9d0, 0xc3be},
+  {0x8faaa1, 0xc381},
+  {0x8faaa2, 0xc380},
+  {0x8faaa3, 0xc384},
+  {0x8faaa4, 0xc382},
   {0x8faaa5, 0xc482},
   {0x8faaa6, 0xc78d},
   {0x8faaa7, 0xc480},
   {0x8faaa8, 0xc484},
+  {0x8faaa9, 0xc385},
+  {0x8faaaa, 0xc383},
   {0x8faaab, 0xc486},
   {0x8faaac, 0xc488},
   {0x8faaad, 0xc48c},
+  {0x8faaae, 0xc387},
   {0x8faaaf, 0xc48a},
   {0x8faab0, 0xc48e},
+  {0x8faab1, 0xc389},
+  {0x8faab2, 0xc388},
+  {0x8faab3, 0xc38b},
+  {0x8faab4, 0xc38a},
   {0x8faab5, 0xc49a},
   {0x8faab6, 0xc496},
   {0x8faab7, 0xc492},
@@ -7023,6 +7063,10 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8faabc, 0xc4a2},
   {0x8faabd, 0xc4a0},
   {0x8faabe, 0xc4a4},
+  {0x8faabf, 0xc38d},
+  {0x8faac0, 0xc38c},
+  {0x8faac1, 0xc38f},
+  {0x8faac2, 0xc38e},
   {0x8faac3, 0xc78f},
   {0x8faac4, 0xc4b0},
   {0x8faac5, 0xc4aa},
@@ -7036,9 +7080,15 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8faacd, 0xc583},
   {0x8faace, 0xc587},
   {0x8faacf, 0xc585},
+  {0x8faad0, 0xc391},
+  {0x8faad1, 0xc393},
+  {0x8faad2, 0xc392},
+  {0x8faad3, 0xc396},
+  {0x8faad4, 0xc394},
   {0x8faad5, 0xc791},
   {0x8faad6, 0xc590},
   {0x8faad7, 0xc58c},
+  {0x8faad8, 0xc395},
   {0x8faad9, 0xc594},
   {0x8faada, 0xc598},
   {0x8faadb, 0xc596},
@@ -7048,6 +7098,10 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8faadf, 0xc59e},
   {0x8faae0, 0xc5a4},
   {0x8faae1, 0xc5a2},
+  {0x8faae2, 0xc39a},
+  {0x8faae3, 0xc399},
+  {0x8faae4, 0xc39c},
+  {0x8faae5, 0xc39b},
   {0x8faae6, 0xc5ac},
   {0x8faae7, 0xc793},
   {0x8faae8, 0xc5b0},
@@ -7060,20 +7114,32 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8faaef, 0xc799},
   {0x8faaf0, 0xc795},
   {0x8faaf1, 0xc5b4},
+  {0x8faaf2, 0xc39d},
   {0x8faaf3, 0xc5b8},
   {0x8faaf4, 0xc5b6},
   {0x8faaf5, 0xc5b9},
   {0x8faaf6, 0xc5bd},
   {0x8faaf7, 0xc5bb},
+  {0x8faba1, 0xc3a1},
+  {0x8faba2, 0xc3a0},
+  {0x8faba3, 0xc3a4},
+  {0x8faba4, 0xc3a2},
   {0x8faba5, 0xc483},
   {0x8faba6, 0xc78e},
   {0x8faba7, 0xc481},
   {0x8faba8, 0xc485},
+  {0x8faba9, 0xc3a5},
+  {0x8fabaa, 0xc3a3},
   {0x8fabab, 0xc487},
   {0x8fabac, 0xc489},
   {0x8fabad, 0xc48d},
+  {0x8fabae, 0xc3a7},
   {0x8fabaf, 0xc48b},
   {0x8fabb0, 0xc48f},
+  {0x8fabb1, 0xc3a9},
+  {0x8fabb2, 0xc3a8},
+  {0x8fabb3, 0xc3ab},
+  {0x8fabb4, 0xc3aa},
   {0x8fabb5, 0xc49b},
   {0x8fabb6, 0xc497},
   {0x8fabb7, 0xc493},
@@ -7083,6 +7149,10 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8fabbb, 0xc49f},
   {0x8fabbd, 0xc4a1},
   {0x8fabbe, 0xc4a5},
+  {0x8fabbf, 0xc3ad},
+  {0x8fabc0, 0xc3ac},
+  {0x8fabc1, 0xc3af},
+  {0x8fabc2, 0xc3ae},
   {0x8fabc3, 0xc790},
   {0x8fabc5, 0xc4ab},
   {0x8fabc6, 0xc4af},
@@ -7095,9 +7165,15 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8fabcd, 0xc584},
   {0x8fabce, 0xc588},
   {0x8fabcf, 0xc586},
+  {0x8fabd0, 0xc3b1},
+  {0x8fabd1, 0xc3b3},
+  {0x8fabd2, 0xc3b2},
+  {0x8fabd3, 0xc3b6},
+  {0x8fabd4, 0xc3b4},
   {0x8fabd5, 0xc792},
   {0x8fabd6, 0xc591},
   {0x8fabd7, 0xc58d},
+  {0x8fabd8, 0xc3b5},
   {0x8fabd9, 0xc595},
   {0x8fabda, 0xc599},
   {0x8fabdb, 0xc597},
@@ -7107,6 +7183,10 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8fabdf, 0xc59f},
   {0x8fabe0, 0xc5a5},
   {0x8fabe1, 0xc5a3},
+  {0x8fabe2, 0xc3ba},
+  {0x8fabe3, 0xc3b9},
+  {0x8fabe4, 0xc3bc},
+  {0x8fabe5, 0xc3bb},
   {0x8fabe6, 0xc5ad},
   {0x8fabe7, 0xc794},
   {0x8fabe8, 0xc5b1},
@@ -7119,6 +7199,8 @@ static pg_local_to_utf LUmapEUC_JP[ 12925 ] = {
   {0x8fabef, 0xc79a},
   {0x8fabf0, 0xc796},
   {0x8fabf1, 0xc5b5},
+  {0x8fabf2, 0xc3bd},
+  {0x8fabf3, 0xc3bf},
   {0x8fabf4, 0xc5b7},
   {0x8fabf5, 0xc5ba},
   {0x8fabf6, 0xc5be},
diff --git a/src/backend/utils/mb/Unicode/euc_kr_to_utf8.map b/src/backend/utils/mb/Unicode/euc_kr_to_utf8.map
index 61594c2f369..d049227a550 100644
--- a/src/backend/utils/mb/Unicode/euc_kr_to_utf8.map
+++ b/src/backend/utils/mb/Unicode/euc_kr_to_utf8.map
@@ -1,10 +1,11 @@
-static pg_local_to_utf LUmapEUC_KR[ 8193 ] = {
+static pg_local_to_utf LUmapEUC_KR[ 8224 ] = {
   {0xa1a1, 0xe38080},
   {0xa1a2, 0xe38081},
   {0xa1a3, 0xe38082},
   {0xa1a4, 0xe383bb},
   {0xa1a5, 0xe280a5},
   {0xa1a6, 0xe280a6},
+  {0xa1a7, 0xc2a8},
   {0xa1a8, 0xe38083},
   {0xa1a9, 0xe28093},
   {0xa1aa, 0xe28094},
@@ -27,11 +28,15 @@ static pg_local_to_utf LUmapEUC_KR[ 8193 ] = {
   {0xa1bb, 0xe3808f},
   {0xa1bc, 0xe38090},
   {0xa1bd, 0xe38091},
+  {0xa1be, 0xc2b1},
+  {0xa1bf, 0xc397},
+  {0xa1c0, 0xc3b7},
   {0xa1c1, 0xe289a0},
   {0xa1c2, 0xe289a4},
   {0xa1c3, 0xe289a5},
   {0xa1c4, 0xe2889e},
   {0xa1c5, 0xe288b4},
+  {0xa1c6, 0xc2b0},
   {0xa1c7, 0xe280b2},
   {0xa1c8, 0xe280b3},
   {0xa1c9, 0xe28483},
@@ -48,6 +53,7 @@ static pg_local_to_utf LUmapEUC_KR[ 8193 ] = {
   {0xa1d4, 0xe28887},
   {0xa1d5, 0xe289a1},
   {0xa1d6, 0xe28992},
+  {0xa1d7, 0xc2a7},
   {0xa1d8, 0xe280bb},
   {0xa1d9, 0xe29886},
   {0xa1da, 0xe29885},
@@ -68,6 +74,8 @@ static pg_local_to_utf LUmapEUC_KR[ 8193 ] = {
   {0xa1e9, 0xe28693},
   {0xa1ea, 0xe28694},
   {0xa1eb, 0xe38093},
+  {0xa1ec, 0xc2ab},
+  {0xa1ed, 0xc2bb},
   {0xa1ee, 0xe2889a},
   {0xa1ef, 0xe288bd},
   {0xa1f0, 0xe2889d},
@@ -89,17 +97,22 @@ static pg_local_to_utf LUmapEUC_KR[ 8193 ] = {
   {0xa2a2, 0xe28794},
   {0xa2a3, 0xe28880},
   {0xa2a4, 0xe28883},
+  {0xa2a5, 0xc2b4},
   {0xa2a6, 0xcb9c},
   {0xa2a7, 0xcb87},
   {0xa2a8, 0xcb98},
   {0xa2a9, 0xcb9d},
   {0xa2aa, 0xcb9a},
   {0xa2ab, 0xcb99},
+  {0xa2ac, 0xc2b8},
   {0xa2ad, 0xcb9b},
+  {0xa2ae, 0xc2a1},
+  {0xa2af, 0xc2bf},
   {0xa2b0, 0xe288b6},
   {0xa2b1, 0xe288ae},
   {0xa2b2, 0xe28891},
   {0xa2b3, 0xe2888f},
+  {0xa2b4, 0xc2a4},
   {0xa2b5, 0xe28489},
   {0xa2b6, 0xe280b0},
   {0xa2b7, 0xe29781},
@@ -129,6 +142,7 @@ static pg_local_to_utf LUmapEUC_KR[ 8193 ] = {
   {0xa2cf, 0xe2988e},
   {0xa2d0, 0xe2989c},
   {0xa2d1, 0xe2989e},
+  {0xa2d2, 0xc2b6},
   {0xa2d3, 0xe280a0},
   {0xa2d4, 0xe280a1},
   {0xa2d5, 0xe28695},
@@ -551,11 +565,17 @@ static pg_local_to_utf LUmapEUC_KR[ 8193 ] = {
   {0xa7ed, 0xe38f89},
   {0xa7ee, 0xe38f9c},
   {0xa7ef, 0xe38f86},
+  {0xa8a1, 0xc386},
+  {0xa8a2, 0xc390},
+  {0xa8a3, 0xc2aa},
   {0xa8a4, 0xc4a6},
   {0xa8a6, 0xc4b2},
   {0xa8a8, 0xc4bf},
   {0xa8a9, 0xc581},
+  {0xa8aa, 0xc398},
   {0xa8ab, 0xc592},
+  {0xa8ac, 0xc2ba},
+  {0xa8ad, 0xc39e},
   {0xa8ae, 0xc5a6},
   {0xa8af, 0xc58a},
   {0xa8b1, 0xe389a0},
@@ -627,20 +647,28 @@ static pg_local_to_utf LUmapEUC_KR[ 8193 ] = {
   {0xa8f3, 0xe291ac},
   {0xa8f4, 0xe291ad},
   {0xa8f5, 0xe291ae},
+  {0xa8f6, 0xc2bd},
   {0xa8f7, 0xe28593},
   {0xa8f8, 0xe28594},
+  {0xa8f9, 0xc2bc},
+  {0xa8fa, 0xc2be},
   {0xa8fb, 0xe2859b},
   {0xa8fc, 0xe2859c},
   {0xa8fd, 0xe2859d},
   {0xa8fe, 0xe2859e},
+  {0xa9a1, 0xc3a6},
   {0xa9a2, 0xc491},
+  {0xa9a3, 0xc3b0},
   {0xa9a4, 0xc4a7},
   {0xa9a5, 0xc4b1},
   {0xa9a6, 0xc4b3},
   {0xa9a7, 0xc4b8},
   {0xa9a8, 0xc580},
   {0xa9a9, 0xc582},
+  {0xa9aa, 0xc3b8},
   {0xa9ab, 0xc593},
+  {0xa9ac, 0xc39f},
+  {0xa9ad, 0xc3be},
   {0xa9ae, 0xc5a7},
   {0xa9af, 0xc58b},
   {0xa9b0, 0xc589},
@@ -713,6 +741,9 @@ static pg_local_to_utf LUmapEUC_KR[ 8193 ] = {
   {0xa9f3, 0xe29280},
   {0xa9f4, 0xe29281},
   {0xa9f5, 0xe29282},
+  {0xa9f6, 0xc2b9},
+  {0xa9f7, 0xc2b2},
+  {0xa9f8, 0xc2b3},
   {0xa9f9, 0xe281b4},
   {0xa9fa, 0xe281bf},
   {0xa9fb, 0xe28281},
diff --git a/src/backend/utils/mb/Unicode/euc_tw_to_utf8.map b/src/backend/utils/mb/Unicode/euc_tw_to_utf8.map
index 2fc69711111..a2959b26b19 100644
--- a/src/backend/utils/mb/Unicode/euc_tw_to_utf8.map
+++ b/src/backend/utils/mb/Unicode/euc_tw_to_utf8.map
@@ -1,4 +1,4 @@
-static pg_local_to_utf LUmapEUC_TW[ 23563 ] = {
+static pg_local_to_utf LUmapEUC_TW[ 23575 ] = {
   {0xa1a1, 0xe38080},
   {0xa1a2, 0xefbc8c},
   {0xa1a3, 0xe38081},
@@ -15,6 +15,7 @@ static pg_local_to_utf LUmapEUC_TW[ 23563 ] = {
   {0xa1ae, 0xefb990},
   {0xa1af, 0xefb991},
   {0xa1b0, 0xefb992},
+  {0xa1b1, 0xc2b7},
   {0xa1b2, 0xefb994},
   {0xa1b3, 0xefb995},
   {0xa1b4, 0xefb996},
@@ -73,6 +74,7 @@ static pg_local_to_utf LUmapEUC_TW[ 23563 ] = {
   {0xa1ed, 0xefbc86},
   {0xa1ee, 0xefbc8a},
   {0xa1ef, 0xe280bb},
+  {0xa1f0, 0xc2a7},
   {0xa1f1, 0xe38083},
   {0xa1f2, 0xe2978b},
   {0xa1f3, 0xe2978f},
@@ -102,6 +104,9 @@ static pg_local_to_utf LUmapEUC_TW[ 23563 ] = {
   {0xa2af, 0xefb9a1},
   {0xa2b0, 0xefbc8b},
   {0xa2b1, 0xefbc8d},
+  {0xa2b2, 0xc397},
+  {0xa2b3, 0xc3b7},
+  {0xa2b4, 0xc2b1},
   {0xa2b5, 0xe2889a},
   {0xa2b6, 0xefbc9c},
   {0xa2b7, 0xefbc9e},
@@ -169,6 +174,7 @@ static pg_local_to_utf LUmapEUC_TW[ 23563 ] = {
   {0xa2f5, 0xe38e8e},
   {0xa2f6, 0xe38e8f},
   {0xa2f7, 0xe38f84},
+  {0xa2f8, 0xc2b0},
   {0xa2f9, 0xe58599},
   {0xa2fa, 0xe5859b},
   {0xa2fb, 0xe5859e},
@@ -5873,6 +5879,7 @@ static pg_local_to_utf LUmapEUC_TW[ 23563 ] = {
   {0x8ea1a1ae, 0xefb990},
   {0x8ea1a1af, 0xefb991},
   {0x8ea1a1b0, 0xefb992},
+  {0x8ea1a1b1, 0xc2b7},
   {0x8ea1a1b2, 0xefb994},
   {0x8ea1a1b3, 0xefb995},
   {0x8ea1a1b4, 0xefb996},
@@ -5931,6 +5938,7 @@ static pg_local_to_utf LUmapEUC_TW[ 23563 ] = {
   {0x8ea1a1ed, 0xefbc86},
   {0x8ea1a1ee, 0xefbc8a},
   {0x8ea1a1ef, 0xe280bb},
+  {0x8ea1a1f0, 0xc2a7},
   {0x8ea1a1f1, 0xe38083},
   {0x8ea1a1f2, 0xe2978b},
   {0x8ea1a1f3, 0xe2978f},
@@ -5960,6 +5968,9 @@ static pg_local_to_utf LUmapEUC_TW[ 23563 ] = {
   {0x8ea1a2af, 0xefb9a1},
   {0x8ea1a2b0, 0xefbc8b},
   {0x8ea1a2b1, 0xefbc8d},
+  {0x8ea1a2b2, 0xc397},
+  {0x8ea1a2b3, 0xc3b7},
+  {0x8ea1a2b4, 0xc2b1},
   {0x8ea1a2b5, 0xe2889a},
   {0x8ea1a2b6, 0xefbc9c},
   {0x8ea1a2b7, 0xefbc9e},
@@ -6027,6 +6038,7 @@ static pg_local_to_utf LUmapEUC_TW[ 23563 ] = {
   {0x8ea1a2f5, 0xe38e8e},
   {0x8ea1a2f6, 0xe38e8f},
   {0x8ea1a2f7, 0xe38f84},
+  {0x8ea1a2f8, 0xc2b0},
   {0x8ea1a2f9, 0xe58599},
   {0x8ea1a2fa, 0xe5859b},
   {0x8ea1a2fb, 0xe5859e},
diff --git a/src/backend/utils/mb/Unicode/sjis_to_utf8.map b/src/backend/utils/mb/Unicode/sjis_to_utf8.map
index 1a814daacf3..05e846177b7 100644
--- a/src/backend/utils/mb/Unicode/sjis_to_utf8.map
+++ b/src/backend/utils/mb/Unicode/sjis_to_utf8.map
@@ -1,4 +1,4 @@
-static pg_local_to_utf LUmapSJIS[ 7779 ] = {
+static pg_local_to_utf LUmapSJIS[ 7787 ] = {
   {0x00a1, 0xefbda1},
   {0x00a2, 0xefbda2},
   {0x00a3, 0xefbda3},
@@ -74,7 +74,9 @@ static pg_local_to_utf LUmapSJIS[ 7779 ] = {
   {0x8149, 0xefbc81},
   {0x814a, 0xe3829b},
   {0x814b, 0xe3829c},
+  {0x814c, 0xc2b4},
   {0x814d, 0xefbd80},
+  {0x814e, 0xc2a8},
   {0x814f, 0xefbcbe},
   {0x8150, 0xefbfa3},
   {0x8151, 0xefbcbf},
@@ -121,6 +123,9 @@ static pg_local_to_utf LUmapSJIS[ 7779 ] = {
   {0x817a, 0xe38091},
   {0x817b, 0xefbc8b},
   {0x817c, 0xefbc8d},
+  {0x817d, 0xc2b1},
+  {0x817e, 0xc397},
+  {0x8180, 0xc3b7},
   {0x8181, 0xefbc9d},
   {0x8182, 0xe289a0},
   {0x8183, 0xefbc9c},
@@ -131,6 +136,7 @@ static pg_local_to_utf LUmapSJIS[ 7779 ] = {
   {0x8188, 0xe288b4},
   {0x8189, 0xe29982},
   {0x818a, 0xe29980},
+  {0x818b, 0xc2b0},
   {0x818c, 0xe280b2},
   {0x818d, 0xe280b3},
   {0x818e, 0xe28483},
@@ -143,6 +149,7 @@ static pg_local_to_utf LUmapSJIS[ 7779 ] = {
   {0x8195, 0xefbc86},
   {0x8196, 0xefbc8a},
   {0x8197, 0xefbca0},
+  {0x8198, 0xc2a7},
   {0x8199, 0xe29886},
   {0x819a, 0xe29885},
   {0x819b, 0xe2978b},
@@ -200,6 +207,7 @@ static pg_local_to_utf LUmapSJIS[ 7779 ] = {
   {0x81f4, 0xe299aa},
   {0x81f5, 0xe280a0},
   {0x81f6, 0xe280a1},
+  {0x81f7, 0xc2b6},
   {0x81fc, 0xe297af},
   {0x824f, 0xefbc90},
   {0x8250, 0xefbc91},
diff --git a/src/backend/utils/mb/Unicode/utf8_to_big5.map b/src/backend/utils/mb/Unicode/utf8_to_big5.map
index 2ec07d955a0..0eaeee77fff 100644
--- a/src/backend/utils/mb/Unicode/utf8_to_big5.map
+++ b/src/backend/utils/mb/Unicode/utf8_to_big5.map
@@ -1,4 +1,13 @@
-static pg_utf_to_local ULmapBIG5[ 13695 ] = {
+static pg_utf_to_local ULmapBIG5[ 13704 ] = {
+  {0xc2a2, 0xa246},
+  {0xc2a3, 0xa247},
+  {0xc2a5, 0xa244},
+  {0xc2a7, 0xa1b1},
+  {0xc2b0, 0xa258},
+  {0xc2b1, 0xa1d3},
+  {0xc2b7, 0xa150},
+  {0xc397, 0xa1d1},
+  {0xc3b7, 0xa1d2},
   {0xcb87, 0xa3be},
   {0xcb89, 0xa3bc},
   {0xcb8a, 0xa3bd},
diff --git a/src/backend/utils/mb/Unicode/utf8_to_euc_cn.map b/src/backend/utils/mb/Unicode/utf8_to_euc_cn.map
index f858c58a23e..949bade3eb0 100644
--- a/src/backend/utils/mb/Unicode/utf8_to_euc_cn.map
+++ b/src/backend/utils/mb/Unicode/utf8_to_euc_cn.map
@@ -1,4 +1,23 @@
-static pg_utf_to_local ULmapEUC_CN[ 7426 ] = {
+static pg_utf_to_local ULmapEUC_CN[ 7445 ] = {
+  {0xc2a4, 0xa1e8},
+  {0xc2a7, 0xa1ec},
+  {0xc2a8, 0xa1a7},
+  {0xc2b0, 0xa1e3},
+  {0xc2b1, 0xa1c0},
+  {0xc397, 0xa1c1},
+  {0xc3a0, 0xa8a4},
+  {0xc3a1, 0xa8a2},
+  {0xc3a8, 0xa8a8},
+  {0xc3a9, 0xa8a6},
+  {0xc3aa, 0xa8ba},
+  {0xc3ac, 0xa8ac},
+  {0xc3ad, 0xa8aa},
+  {0xc3b2, 0xa8b0},
+  {0xc3b3, 0xa8ae},
+  {0xc3b7, 0xa1c2},
+  {0xc3b9, 0xa8b4},
+  {0xc3ba, 0xa8b2},
+  {0xc3bc, 0xa8b9},
   {0xc481, 0xa8a1},
   {0xc493, 0xa8a5},
   {0xc49b, 0xa8a7},
diff --git a/src/backend/utils/mb/Unicode/utf8_to_euc_jp.map b/src/backend/utils/mb/Unicode/utf8_to_euc_jp.map
index 94e247edc60..36953217957 100644
--- a/src/backend/utils/mb/Unicode/utf8_to_euc_jp.map
+++ b/src/backend/utils/mb/Unicode/utf8_to_euc_jp.map
@@ -1,4 +1,86 @@
-static pg_utf_to_local ULmapEUC_JP[ 12925 ] = {
+static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
+  {0xc2a1, 0x8fa2c2},
+  {0xc2a2, 0xa1f1},
+  {0xc2a3, 0xa1f2},
+  {0xc2a4, 0x8fa2f0},
+  {0xc2a6, 0x8fa2c3},
+  {0xc2a7, 0xa1f8},
+  {0xc2a8, 0xa1af},
+  {0xc2a9, 0x8fa2ed},
+  {0xc2aa, 0x8fa2ec},
+  {0xc2ac, 0xa2cc},
+  {0xc2ae, 0x8fa2ee},
+  {0xc2af, 0x8fa2b4},
+  {0xc2b0, 0xa1eb},
+  {0xc2b1, 0xa1de},
+  {0xc2b4, 0xa1ad},
+  {0xc2b6, 0xa2f9},
+  {0xc2b8, 0x8fa2b1},
+  {0xc2ba, 0x8fa2eb},
+  {0xc2bf, 0x8fa2c4},
+  {0xc380, 0x8faaa2},
+  {0xc381, 0x8faaa1},
+  {0xc382, 0x8faaa4},
+  {0xc383, 0x8faaaa},
+  {0xc384, 0x8faaa3},
+  {0xc385, 0x8faaa9},
+  {0xc386, 0x8fa9a1},
+  {0xc387, 0x8faaae},
+  {0xc388, 0x8faab2},
+  {0xc389, 0x8faab1},
+  {0xc38a, 0x8faab4},
+  {0xc38b, 0x8faab3},
+  {0xc38c, 0x8faac0},
+  {0xc38d, 0x8faabf},
+  {0xc38e, 0x8faac2},
+  {0xc38f, 0x8faac1},
+  {0xc391, 0x8faad0},
+  {0xc392, 0x8faad2},
+  {0xc393, 0x8faad1},
+  {0xc394, 0x8faad4},
+  {0xc395, 0x8faad8},
+  {0xc396, 0x8faad3},
+  {0xc397, 0xa1df},
+  {0xc398, 0x8fa9ac},
+  {0xc399, 0x8faae3},
+  {0xc39a, 0x8faae2},
+  {0xc39b, 0x8faae5},
+  {0xc39c, 0x8faae4},
+  {0xc39d, 0x8faaf2},
+  {0xc39e, 0x8fa9b0},
+  {0xc39f, 0x8fa9ce},
+  {0xc3a0, 0x8faba2},
+  {0xc3a1, 0x8faba1},
+  {0xc3a2, 0x8faba4},
+  {0xc3a3, 0x8fabaa},
+  {0xc3a4, 0x8faba3},
+  {0xc3a5, 0x8faba9},
+  {0xc3a6, 0x8fa9c1},
+  {0xc3a7, 0x8fabae},
+  {0xc3a8, 0x8fabb2},
+  {0xc3a9, 0x8fabb1},
+  {0xc3aa, 0x8fabb4},
+  {0xc3ab, 0x8fabb3},
+  {0xc3ac, 0x8fabc0},
+  {0xc3ad, 0x8fabbf},
+  {0xc3ae, 0x8fabc2},
+  {0xc3af, 0x8fabc1},
+  {0xc3b0, 0x8fa9c3},
+  {0xc3b1, 0x8fabd0},
+  {0xc3b2, 0x8fabd2},
+  {0xc3b3, 0x8fabd1},
+  {0xc3b4, 0x8fabd4},
+  {0xc3b5, 0x8fabd8},
+  {0xc3b6, 0x8fabd3},
+  {0xc3b7, 0xa1e0},
+  {0xc3b8, 0x8fa9cc},
+  {0xc3b9, 0x8fabe3},
+  {0xc3ba, 0x8fabe2},
+  {0xc3bb, 0x8fabe5},
+  {0xc3bc, 0x8fabe4},
+  {0xc3bd, 0x8fabf2},
+  {0xc3be, 0x8fa9d0},
+  {0xc3bf, 0x8fabf3},
   {0xc480, 0x8faaa7},
   {0xc481, 0x8faba7},
   {0xc482, 0x8faaa5},
diff --git a/src/backend/utils/mb/Unicode/utf8_to_euc_kr.map b/src/backend/utils/mb/Unicode/utf8_to_euc_kr.map
index 6cbab587c9e..a69682967a0 100644
--- a/src/backend/utils/mb/Unicode/utf8_to_euc_kr.map
+++ b/src/backend/utils/mb/Unicode/utf8_to_euc_kr.map
@@ -1,4 +1,35 @@
-static pg_utf_to_local ULmapEUC_KR[ 8193 ] = {
+static pg_utf_to_local ULmapEUC_KR[ 8224 ] = {
+  {0xc2a1, 0xa2ae},
+  {0xc2a4, 0xa2b4},
+  {0xc2a7, 0xa1d7},
+  {0xc2a8, 0xa1a7},
+  {0xc2aa, 0xa8a3},
+  {0xc2ab, 0xa1ec},
+  {0xc2b0, 0xa1c6},
+  {0xc2b1, 0xa1be},
+  {0xc2b2, 0xa9f7},
+  {0xc2b3, 0xa9f8},
+  {0xc2b4, 0xa2a5},
+  {0xc2b6, 0xa2d2},
+  {0xc2b8, 0xa2ac},
+  {0xc2b9, 0xa9f6},
+  {0xc2ba, 0xa8ac},
+  {0xc2bb, 0xa1ed},
+  {0xc2bc, 0xa8f9},
+  {0xc2bd, 0xa8f6},
+  {0xc2be, 0xa8fa},
+  {0xc2bf, 0xa2af},
+  {0xc386, 0xa8a1},
+  {0xc390, 0xa8a2},
+  {0xc397, 0xa1bf},
+  {0xc398, 0xa8aa},
+  {0xc39e, 0xa8ad},
+  {0xc39f, 0xa9ac},
+  {0xc3a6, 0xa9a1},
+  {0xc3b0, 0xa9a3},
+  {0xc3b7, 0xa1c0},
+  {0xc3b8, 0xa9aa},
+  {0xc3be, 0xa9ad},
   {0xc491, 0xa9a2},
   {0xc4a6, 0xa8a4},
   {0xc4a7, 0xa9a4},
diff --git a/src/backend/utils/mb/Unicode/utf8_to_euc_tw.map b/src/backend/utils/mb/Unicode/utf8_to_euc_tw.map
index 9ea465f5c15..3ddf9a01762 100644
--- a/src/backend/utils/mb/Unicode/utf8_to_euc_tw.map
+++ b/src/backend/utils/mb/Unicode/utf8_to_euc_tw.map
@@ -1,4 +1,10 @@
-static pg_utf_to_local ULmapEUC_TW[ 17705 ] = {
+static pg_utf_to_local ULmapEUC_TW[ 17711 ] = {
+  {0xc2a7, 0xa1f0},
+  {0xc2b0, 0xa2f8},
+  {0xc2b1, 0xa2b4},
+  {0xc2b7, 0xa1b1},
+  {0xc397, 0xa2b2},
+  {0xc3b7, 0xa2b3},
   {0xcb87, 0xa5ef},
   {0xcb89, 0xa5ed},
   {0xcb8a, 0xa5ee},
diff --git a/src/backend/utils/mb/Unicode/utf8_to_sjis.map b/src/backend/utils/mb/Unicode/utf8_to_sjis.map
index a2b85a0082b..84197ade775 100644
--- a/src/backend/utils/mb/Unicode/utf8_to_sjis.map
+++ b/src/backend/utils/mb/Unicode/utf8_to_sjis.map
@@ -1,4 +1,12 @@
-static pg_utf_to_local ULmapSJIS[ 7381 ] = {
+static pg_utf_to_local ULmapSJIS[ 7389 ] = {
+  {0xc2a7, 0x8198},
+  {0xc2a8, 0x814e},
+  {0xc2b0, 0x818b},
+  {0xc2b1, 0x817d},
+  {0xc2b4, 0x814c},
+  {0xc2b6, 0x81f7},
+  {0xc397, 0x817e},
+  {0xc3b7, 0x8180},
   {0xce91, 0x839f},
   {0xce92, 0x83a0},
   {0xce93, 0x83a1},
-- 
GitLab