0
votes

If I were to run a query such as:

select o.col1, m.col1 from oracle_tab o, mysql_tab@mysql m where o.col1=m.col1;

insert into oracle_tab (select * from mysql_tab@mysql);

what would the corresponding charset for mysql if AL32UTF8 was used in the oracle db?

from mysql website these are the choices: https://dev.mysql.com/doc/refman/5.5/en/charset-charsets.html

This is what I'm getting from oracle db if i ran

SELECT * FROM NLS_DATABASE_PARAMETERS

PARAMETER VALUE

1 NLS_LANGUAGE AMERICAN

2 NLS_TERRITORY AMERICA

3 NLS_CURRENCY $

4 NLS_ISO_CURRENCY AMERICA

5 NLS_NUMERIC_CHARACTERS .,

6 NLS_CHARACTERSET AL32UTF8

7 NLS_CALENDAR GREGORIAN

8 NLS_DATE_FORMAT DD-MON-RR

9 NLS_DATE_LANGUAGE AMERICAN

10 NLS_SORT BINARY

11 NLS_TIME_FORMAT HH.MI.SSXFF AM

12 NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM

13 NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR

14 NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR

15 NLS_DUAL_CURRENCY $

16 NLS_COMP BINARY

17 NLS_LENGTH_SEMANTICS BYTE

18 NLS_NCHAR_CONV_EXCP FALSE

19 NLS_NCHAR_CHARACTERSET AL16UTF16

20 NLS_RDBMS_VERSION 11.2.0.1.0

1

1 Answers

3
votes

Based on a brief reading of Oracle's AL32UTF8, I think that corresponds to MySQL's utf8mb4. Both handle Emoji and Chinese.

Meanwhile, Oracle's UTF8 may be the same as MySQL's utf8 for the "basic plane" characters -- which are encoded in no more than 3 bytes.

If you would care to present the hex of some characters (and the graphics for them) that you have, we can further assess the situation.