首先 在oracle上执行语句看自己的utf-8 还是gbk
查看编码格式:
方法1: select userenv('language') from dual;
方法2:select * from nls_database_parameters
修改步骤
Microsoft Windows [版本 10.0.18363.1139]
(c) 2019 Microsoft Corporation。保留所有权利。
C:\Users\hp>sqlplus/nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 10月 22 18:12:52 2020
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> select userenv('language') from dual
2
SQL> SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET'
2
SQL> conn / as sysdba
已连接。
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 805306368 bytes
Fixed Size 1289996 bytes
Variable Size 218104052 bytes
Database Buffers 583008256 bytes
Redo Buffers 2904064 bytes
数据库装载完毕。
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
系统已更改。
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
系统已更改。
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
系统已更改。
SQL> ALTER DATABASE OPEN;
数据库已更改。
SQL> alter database character set internal_use zhs16gbk;
数据库已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
如果开始有数据 , 那你需要把之前的删除连表一起删除 从新建表再导入数据 。