I thought it was a character set conversion problem when using the original import (imp) to import a dump file, so I tried to change correct character set for later import. But IMP-00038 is still there.
D:\app\oracle\admin\ORCL\dpdump>imp \"/ as sysdba\" FROMUSER=ERPAPP IGNORE=y FILE=exp_demo.dmp LOG=imp_demo_meta_20200902-1.log
Import: Release 184.108.40.206.0 - Production on Thu Sep 1 21:45:32 2020
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 12c Enterprise Edition Release 220.127.116.11.0 - 64bit
Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
IMP-00038: Could not convert to environment character set's handle
IMP-00000: Import terminated unsuccessfully
Actually, the root cause of IMP-00038 is irrelevant to any character set. It turns out that I mistakenly used original imp to import a dump file that was generated from data pump. The solution is to go back to use impdp utility of data pump to avoid IMP-00038.
On the other side, if you use impdp, a data pump utility, to import a dump file that was generated from the original exp, you will get ORA-39143: dump file may be an original export dump file.