Oracle中文乱码解决办法总结
Jun 07, 2016 pm 05:46 PM下面总结了大量的关于Oracle中文乱码解决办法,有碰到此类问题的朋友可参考参考。
下面总结了大量的关于Oracle中文乱码解决办法,有碰到此类问题的朋友可参考参考。AMERICAN_AMERICA.WE8ISO8859P1,这个字符编码是西欧字符编码,对应于.Net的就是iso-8859-1字符编码,所以只需要改到系统的默认字符编码就行了.
解决方法:
(1) 服务器端重新安装ORACLE
在重新安装ORACLE 时选择与原卸出数据一致的字符集(本例为US7ASCII)。
加载原卸出的数据。
这种情况仅仅使用于空库和具有同一种字符集的数据。
(2)
写一个函数:
代码如下 | 复制代码 |
/**//// |
(3)强行修改服务器端ORACLE当前字符集
在用imp命令加载数据前,先在客户端用sql*plus登录system DBA用户,执行下列SQL语句进行当前ORACLE数据库字符集修改:
代码如下 | 复制代码 |
SQL > create database character set US7ASCII |
(3)显示中文乱码
在Redhat上安装Oracle 10g没有设定字符集,采用的是操作系统默认字符集:WE8ISO8859P1,将字符集修改为:ZHS16GBK。由于过程不可逆,首先需要备份数据库。
1.数据库全备
代码如下 | 复制代码 |
2.查询当前字符集 3.关闭数据库 4.启动数据库到mount状态 SQL> startup mount 5.限制session SQL> alter system enable restricted session; 6.查询相关参数并修改 SQL> show parameter job_queue_processes; SQL> show parameter aq_tm_processes; SQL> alter system set job_queue_processes=0; 7.打开数据库 SQL> alter database open; 8.修改字符集 SQL> alter database character set ZHS16GBK; 出现错误提示,新字符集必须是老字符集的超集,也就原来字符集是新字符集的子集,可以再Oracle官方文档上查询字符集包含关系。下面使用Oracle内部命令internal_use,跳过超集检查,生产环境不建议使用此方法。 SQL> alter database character set internal_use ZHS16GBK; 9.查询当前字符集 10.关闭数据库 SQL> shutdown immediate 11.启动数据库到mount状态 SQL> startup mount 12.将相关参数改回原来值 SQL> alter system set job_queue_processes=10; 13.打开数据库 SQL> alter database open; |

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Berfungsi untuk mengira bilangan hari antara dua tarikh dalam oracle

Berapa lama log pangkalan data Oracle akan disimpan?

Urutan langkah permulaan pangkalan data oracle ialah

Keperluan konfigurasi perkakasan pelayan pangkalan data Oracle

Bagaimana untuk melihat bilangan kemunculan watak tertentu dalam Oracle

Berapa banyak memori yang diperlukan oleh oracle?

Bagaimana untuk menentukan sama ada dua rentetan terkandung dalam oracle
