SqlQuantumLeap icon

Unicode to Code Page mappings in SQL Server

SqlQuantumLeap | PRO | 11/29/15 05:11:00 AM UTC | 0 ⭐ | 1777 👁️ | Never ⏰ | []
T-SQL |

64.66 KB

|

None

|

0 👍

/

0 👎

-- This script relates to the following DBA.StackExchange answer:
-- http://dba.stackexchange.com/questions/76781/converting-a-unicode-value-to-a-non-unicode-value-sql-server/122375#122375
 
-- The full list of Unicode to Code Page mappings can be found at the following location:
-- ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/
 
 
-----------------------------------------------------------------------------
--  SETUP 1 (of 3): CREATE DATABASE
-----------------------------------------------------------------------------
 
IF (DB_ID(N'MappingTestCodePage1252') IS NULL)
BEGIN
  CREATE DATABASE [MappingTestCodePage1252]
    COLLATE Latin1_General_CI_AS;
END;
GO
 
USE [MappingTestCodePage1252];
SELECT CONVERT(INT,
               COLLATIONPROPERTY(CONVERT(NVARCHAR(128),
                                         DATABASEPROPERTYEX(DB_NAME(), 'Collation')
                                        ),
                                 'CodePage'
                                )
              ) AS [DatabaseCodePage];
 
 
-----------------------------------------------------------------------------
--  SETUP 2 (of 3): CREATE Mappings TABLE
-----------------------------------------------------------------------------
IF (OBJECT_ID(N'dbo.Mappings') IS NULL)
BEGIN
  -- DROP TABLE dbo.Mappings;
  PRINT 'Creating Mappings table...';
  CREATE TABLE dbo.Mappings
  (
    UnicodeCodePoint BINARY(2) NOT NULL PRIMARY KEY,
    CodePage1252Code BINARY(1) NOT NULL
  );
 
  -- The following data was imported from the following URI on 2015-11-27
  -- ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1252.txt
 
  PRINT 'Populating table...';
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0000, 0x00);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0001, 0x01);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0002, 0x02);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0003, 0x03);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0004, 0x04);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0005, 0x05);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0006, 0x06);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0007, 0x07);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0008, 0x08);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0009, 0x09);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x000a, 0x0a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x000b, 0x0b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x000c, 0x0c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x000d, 0x0d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x000e, 0x0e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x000f, 0x0f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0010, 0x10);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0011, 0x11);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0012, 0x12);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0013, 0x13);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0014, 0x14);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0015, 0x15);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0016, 0x16);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0017, 0x17);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0018, 0x18);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0019, 0x19);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x001a, 0x1a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x001b, 0x1b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x001c, 0x1c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x001d, 0x1d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x001e, 0x1e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x001f, 0x1f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0020, 0x20);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0021, 0x21);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0022, 0x22);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0023, 0x23);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0024, 0x24);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0025, 0x25);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0026, 0x26);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0027, 0x27);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0028, 0x28);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0029, 0x29);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x002a, 0x2a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x002b, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x002c, 0x2c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x002d, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x002e, 0x2e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x002f, 0x2f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0030, 0x30);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0031, 0x31);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0032, 0x32);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0033, 0x33);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0034, 0x34);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0035, 0x35);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0036, 0x36);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0037, 0x37);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0038, 0x38);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0039, 0x39);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x003a, 0x3a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x003b, 0x3b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x003c, 0x3c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x003d, 0x3d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x003e, 0x3e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x003f, 0x3f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0040, 0x40);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0041, 0x41);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0042, 0x42);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0043, 0x43);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0044, 0x44);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0045, 0x45);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0046, 0x46);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0047, 0x47);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0048, 0x48);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0049, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x004a, 0x4a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x004b, 0x4b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x004c, 0x4c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x004d, 0x4d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x004e, 0x4e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x004f, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0050, 0x50);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0051, 0x51);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0052, 0x52);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0053, 0x53);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0054, 0x54);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0055, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0056, 0x56);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0057, 0x57);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0058, 0x58);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0059, 0x59);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x005a, 0x5a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x005b, 0x5b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x005c, 0x5c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x005d, 0x5d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x005e, 0x5e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x005f, 0x5f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0060, 0x60);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0061, 0x61);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0062, 0x62);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0063, 0x63);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0064, 0x64);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0065, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0066, 0x66);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0067, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0068, 0x68);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0069, 0x69);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x006a, 0x6a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x006b, 0x6b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x006c, 0x6c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x006d, 0x6d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x006e, 0x6e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x006f, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0070, 0x70);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0071, 0x71);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0072, 0x72);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0073, 0x73);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0074, 0x74);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0075, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0076, 0x76);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0077, 0x77);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0078, 0x78);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0079, 0x79);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x007a, 0x7a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x007b, 0x7b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x007c, 0x7c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x007d, 0x7d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x007e, 0x7e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x007f, 0x7f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0081, 0x81);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x008d, 0x8d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x008f, 0x8f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0090, 0x90);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x009d, 0x9d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a0, 0xa0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a1, 0xa1);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a2, 0xa2);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a3, 0xa3);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a4, 0xa4);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a5, 0xa5);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a6, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a7, 0xa7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a8, 0xa8);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00a9, 0xa9);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00aa, 0xaa);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ab, 0xab);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ac, 0xac);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ad, 0xad);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ae, 0xae);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00af, 0xaf);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b0, 0xb0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b1, 0xb1);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b2, 0xb2);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b3, 0xb3);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b4, 0xb4);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b5, 0xb5);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b6, 0xb6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b7, 0xb7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b8, 0xb8);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00b9, 0xb9);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ba, 0xba);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00bb, 0xbb);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00bc, 0xbc);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00bd, 0xbd);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00be, 0xbe);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00bf, 0xbf);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c0, 0xc0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c1, 0xc1);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c2, 0xc2);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c3, 0xc3);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c4, 0xc4);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c5, 0xc5);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c6, 0xc6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c7, 0xc7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c8, 0xc8);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00c9, 0xc9);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ca, 0xca);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00cb, 0xcb);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00cc, 0xcc);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00cd, 0xcd);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ce, 0xce);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00cf, 0xcf);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d0, 0xd0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d1, 0xd1);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d2, 0xd2);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d3, 0xd3);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d4, 0xd4);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d5, 0xd5);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d6, 0xd6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d7, 0xd7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d8, 0xd8);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00d9, 0xd9);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00da, 0xda);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00db, 0xdb);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00dc, 0xdc);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00dd, 0xdd);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00de, 0xde);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00df, 0xdf);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e0, 0xe0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e1, 0xe1);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e2, 0xe2);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e3, 0xe3);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e4, 0xe4);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e5, 0xe5);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e6, 0xe6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e7, 0xe7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e8, 0xe8);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00e9, 0xe9);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ea, 0xea);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00eb, 0xeb);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ec, 0xec);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ed, 0xed);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ee, 0xee);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ef, 0xef);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f0, 0xf0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f1, 0xf1);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f2, 0xf2);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f3, 0xf3);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f4, 0xf4);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f5, 0xf5);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f6, 0xf6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f7, 0xf7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f8, 0xf8);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00f9, 0xf9);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00fa, 0xfa);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00fb, 0xfb);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00fc, 0xfc);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00fd, 0xfd);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00fe, 0xfe);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x00ff, 0xff);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0100, 0x41);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0101, 0x61);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0102, 0x41);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0103, 0x61);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0104, 0x41);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0105, 0x61);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0106, 0x43);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0107, 0x63);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0108, 0x43);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0109, 0x63);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x010a, 0x43);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x010b, 0x63);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x010c, 0x43);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x010d, 0x63);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x010e, 0x44);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x010f, 0x64);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0110, 0xd0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0111, 0x64);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0112, 0x45);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0113, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0114, 0x45);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0115, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0116, 0x45);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0117, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0118, 0x45);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0119, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x011a, 0x45);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x011b, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x011c, 0x47);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x011d, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x011e, 0x47);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x011f, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0120, 0x47);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0121, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0122, 0x47);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0123, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0124, 0x48);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0125, 0x68);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0126, 0x48);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0127, 0x68);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0128, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0129, 0x69);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x012a, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x012b, 0x69);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x012c, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x012d, 0x69);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x012e, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x012f, 0x69);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0130, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0131, 0x69);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0134, 0x4a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0135, 0x6a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0136, 0x4b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0137, 0x6b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0139, 0x4c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x013a, 0x6c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x013b, 0x4c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x013c, 0x6c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x013d, 0x4c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x013e, 0x6c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0141, 0x4c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0142, 0x6c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0143, 0x4e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0144, 0x6e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0145, 0x4e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0146, 0x6e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0147, 0x4e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0148, 0x6e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x014c, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x014d, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x014e, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x014f, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0150, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0151, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0152, 0x8c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0153, 0x9c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0154, 0x52);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0155, 0x72);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0156, 0x52);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0157, 0x72);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0158, 0x52);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0159, 0x72);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x015a, 0x53);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x015b, 0x73);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x015c, 0x53);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x015d, 0x73);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x015e, 0x53);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x015f, 0x73);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0160, 0x8a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0161, 0x9a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0162, 0x54);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0163, 0x74);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0164, 0x54);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0165, 0x74);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0166, 0x54);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0167, 0x74);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0168, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0169, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x016a, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x016b, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x016c, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x016d, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x016e, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x016f, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0170, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0171, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0172, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0173, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0174, 0x57);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0175, 0x77);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0176, 0x59);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0177, 0x79);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0178, 0x9f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0179, 0x5a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x017a, 0x7a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x017b, 0x5a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x017c, 0x7a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x017d, 0x8e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x017e, 0x9e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0180, 0x62);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0189, 0xd0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0191, 0x83);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0192, 0x83);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0197, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x019a, 0x6c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x019f, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01a0, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01a1, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01ab, 0x74);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01ae, 0x54);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01af, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01b0, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01b6, 0x7a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01c0, 0x7c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01c3, 0x21);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01cd, 0x41);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01ce, 0x61);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01cf, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d0, 0x69);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d1, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d2, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d3, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d4, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d5, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d6, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d7, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d8, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01d9, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01da, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01db, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01dc, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01de, 0x41);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01df, 0x61);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01e4, 0x47);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01e5, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01e6, 0x47);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01e7, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01e8, 0x4b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01e9, 0x6b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01ea, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01eb, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01ec, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01ed, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x01f0, 0x6a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0261, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02b9, 0x27);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02ba, 0x22);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02bc, 0x27);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02c4, 0x5e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02c6, 0x88);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02c8, 0x27);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02c9, 0xaf);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02ca, 0xb4);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02cb, 0x60);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02cd, 0x5f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02da, 0xb0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x02dc, 0x98);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0300, 0x60);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0301, 0xb4);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0302, 0x5e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0303, 0x7e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0304, 0xaf);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0305, 0xaf);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0308, 0xa8);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x030a, 0xb0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x030e, 0x22);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0327, 0xb8);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0331, 0x5f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0332, 0x5f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x037e, 0x3b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0393, 0x47);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0398, 0x54);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03a3, 0x53);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03a6, 0x46);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03a9, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03b1, 0x61);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03b2, 0xdf);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03b4, 0x64);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03b5, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03bc, 0xb5);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03c0, 0x70);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03c3, 0x73);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03c4, 0x74);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x03c6, 0x66);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x04bb, 0x68);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x0589, 0x3a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x066a, 0x25);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2000, 0x20);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2001, 0x20);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2002, 0x20);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2003, 0x20);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2004, 0x20);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2005, 0x20);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2006, 0x20);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2010, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2011, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2013, 0x96);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2014, 0x97);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2017, 0x3d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2018, 0x91);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2019, 0x92);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x201a, 0x82);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x201c, 0x93);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x201d, 0x94);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x201e, 0x84);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2020, 0x86);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2021, 0x87);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2022, 0x95);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2024, 0xb7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2026, 0x85);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2030, 0x89);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2032, 0x27);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2035, 0x60);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2039, 0x8b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x203a, 0x9b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2044, 0x2f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2070, 0xb0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2074, 0x34);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2075, 0x35);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2076, 0x36);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2077, 0x37);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2078, 0x38);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x207f, 0x6e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2080, 0x30);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2081, 0x31);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2082, 0x32);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2083, 0x33);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2084, 0x34);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2085, 0x35);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2086, 0x36);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2087, 0x37);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2088, 0x38);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2089, 0x39);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x20ac, 0x80);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x20a1, 0xa2);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x20a4, 0xa3);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x20a7, 0x50);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2102, 0x43);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2107, 0x45);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x210a, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x210b, 0x48);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x210c, 0x48);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x210d, 0x48);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x210e, 0x68);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2110, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2111, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2112, 0x4c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2113, 0x6c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2115, 0x4e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2118, 0x50);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2119, 0x50);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x211a, 0x51);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x211b, 0x52);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x211c, 0x52);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x211d, 0x52);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2122, 0x99);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2124, 0x5a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2128, 0x5a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x212a, 0x4b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x212b, 0xc5);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x212c, 0x42);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x212d, 0x43);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x212e, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x212f, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2130, 0x45);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2131, 0x46);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2133, 0x4d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2134, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2205, 0xd8);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2212, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2213, 0xb1);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2215, 0x2f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2216, 0x5c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2217, 0x2a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2218, 0xb0);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2219, 0xb7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x221a, 0x76);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x221e, 0x38);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2223, 0x7c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2229, 0x6e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2236, 0x3a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x223c, 0x7e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2248, 0x98);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2261, 0x3d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2264, 0x3d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2265, 0x3d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x226a, 0xab);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x226b, 0xbb);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x22c5, 0xb7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2302, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2303, 0x5e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2310, 0xac);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2320, 0x28);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2321, 0x29);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2329, 0x3c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x232a, 0x3e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2500, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2502, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x250c, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2510, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2514, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2518, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x251c, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2524, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x252c, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2534, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x253c, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2550, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2551, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2552, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2553, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2554, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2555, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2556, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2557, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2558, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2559, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x255a, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x255b, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x255c, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x255d, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x255e, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x255f, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2560, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2561, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2562, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2563, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2564, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2565, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2566, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2567, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2568, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2569, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x256a, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x256b, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x256c, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2580, 0xaf);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2584, 0x5f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2588, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x258c, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2590, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2591, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2592, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2593, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x25a0, 0xa6);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x263c, 0xa4);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x2758, 0x7c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x3000, 0x20);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x3008, 0x3c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x3009, 0x3e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x300a, 0xab);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x300b, 0xbb);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x301a, 0x5b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x301b, 0x5d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0x30fb, 0xb7);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff01, 0x21);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff02, 0x22);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff03, 0x23);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff04, 0x24);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff05, 0x25);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff06, 0x26);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff07, 0x27);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff08, 0x28);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff09, 0x29);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff0a, 0x2a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff0b, 0x2b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff0c, 0x2c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff0d, 0x2d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff0e, 0x2e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff0f, 0x2f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff10, 0x30);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff11, 0x31);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff12, 0x32);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff13, 0x33);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff14, 0x34);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff15, 0x35);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff16, 0x36);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff17, 0x37);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff18, 0x38);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff19, 0x39);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff1a, 0x3a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff1b, 0x3b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff1c, 0x3c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff1d, 0x3d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff1e, 0x3e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff1f, 0x3f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff20, 0x40);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff21, 0x41);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff22, 0x42);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff23, 0x43);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff24, 0x44);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff25, 0x45);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff26, 0x46);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff27, 0x47);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff28, 0x48);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff29, 0x49);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff2a, 0x4a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff2b, 0x4b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff2c, 0x4c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff2d, 0x4d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff2e, 0x4e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff2f, 0x4f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff30, 0x50);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff31, 0x51);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff32, 0x52);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff33, 0x53);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff34, 0x54);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff35, 0x55);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff36, 0x56);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff37, 0x57);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff38, 0x58);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff39, 0x59);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff3a, 0x5a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff3b, 0x5b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff3c, 0x5c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff3d, 0x5d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff3e, 0x5e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff3f, 0x5f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff40, 0x60);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff41, 0x61);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff42, 0x62);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff43, 0x63);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff44, 0x64);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff45, 0x65);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff46, 0x66);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff47, 0x67);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff48, 0x68);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff49, 0x69);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff4a, 0x6a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff4b, 0x6b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff4c, 0x6c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff4d, 0x6d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff4e, 0x6e);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff4f, 0x6f);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff50, 0x70);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff51, 0x71);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff52, 0x72);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff53, 0x73);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff54, 0x74);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff55, 0x75);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff56, 0x76);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff57, 0x77);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff58, 0x78);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff59, 0x79);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff5a, 0x7a);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff5b, 0x7b);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff5c, 0x7c);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff5d, 0x7d);
  INSERT INTO dbo.Mappings (UnicodeCodePoint, CodePage1252Code) VALUES (0xff5e, 0x7e);
END;
 
 
-----------------------------------------------------------------------------
--  SETUP 3 (of 3): CREATE UnicodeCharacters TABLE
-----------------------------------------------------------------------------
 
IF (OBJECT_ID(N'dbo.UnicodeCharacters') IS NULL)
BEGIN
  -- DROP TABLE dbo.UnicodeCharacters;
  PRINT 'Creating UnicodeCharacters table...';
  CREATE TABLE dbo.UnicodeCharacters
  (
    UnicodeCodePointBIN BINARY(2) NOT NULL PRIMARY KEY,
    UnicodeCodePointINT AS (CONVERT(INT, [UnicodeCodePointBIN])),
    UnicodeCharacter AS (NCHAR([UnicodeCodePointBIN])),
 
    CodePage1252CodeBIN BINARY(1) NULL, -- NULL if not mapped for Best Fit
    CodePage1252CodeINT AS (CONVERT(INT, [CodePage1252CodeBIN])),
    CodePage1252Character AS (CHAR([CodePage1252CodeBIN])),
 
    ConvertedCharacter AS (CONVERT(VARCHAR(5), NCHAR([UnicodeCodePointBIN]))),
    ConvertedCharacterCodeINT AS (ASCII(CONVERT(VARCHAR(5), NCHAR([UnicodeCodePointBIN])))),
 
    DoesConvertedCharacterMatchMapping AS (
       CASE
         WHEN [CodePage1252CodeBIN] IS NULL -- not mapped
           THEN NULL
         WHEN ((ASCII(CONVERT(VARCHAR(5), NCHAR([UnicodeCodePointBIN]))))
                = (CONVERT(INT, [CodePage1252CodeBIN])))
           THEN 'Yes'
         ELSE 'No'
       END),
    DoesUnmappedCodePointConvertToSomething AS (
       CASE
         WHEN [CodePage1252CodeBIN] IS NOT NULL -- mapped
           THEN NULL
         WHEN [CodePage1252CodeBIN] IS NULL -- not mapped
              AND [UnicodeCodePointBIN] > 0x00FF -- Unicode range
              AND (ASCII(CONVERT(VARCHAR(5), NCHAR([UnicodeCodePointBIN])))) <> 63
           THEN 'Yes'
         ELSE
           'No'
       END)
  );
 
  PRINT 'Populating table with base Unicode characters...';
  INSERT INTO dbo.UnicodeCharacters ([UnicodeCodePointBIN])
    SELECT TOP (65536) CONVERT(BINARY(2), ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) - 1) AS [num]
    FROM   [master].[sys].[columns] sc
    CROSS JOIN [master].[sys].[objects] so;
 
  -- SELECT * FROM dbo.UnicodeCharacters;
 
  PRINT 'Updating table with Unicode to Code Page 1252 mappings...';
  UPDATE tmp
  SET    tmp.CodePage1252CodeBIN = map.CodePage1252Code
  FROM   dbo.UnicodeCharacters tmp
  INNER JOIN dbo.Mappings map
          ON map.UnicodeCodePoint = tmp.UnicodeCodePointBIN
  WHERE   tmp.CodePage1252CodeBIN IS NULL;
 
  -- SELECT * FROM dbo.UnicodeCharacters;
 
END;
 
 
 
-----------------------------------------------------------------------------
--  TEST QUERIES
-----------------------------------------------------------------------------
 
-- Do any mappings not match conversion?
SELECT * FROM dbo.UnicodeCharacters WHERE DoesConvertedCharacterMatchMapping = 'No';
 
-- Do any unmapped Code Points have a conversion?
SELECT * FROM dbo.UnicodeCharacters WHERE DoesUnmappedCodePointConvertToSomething = 'Yes'; 
 
-- See all Code Points:
SELECT * FROM dbo.UnicodeCharacters;
 
-- See all conversions:
SELECT * FROM dbo.UnicodeCharacters WHERE CodePage1252CodeBIN IS NOT NULL;

Comments