网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.用Oracle 9i全索引扫描快速访问数.
.oracle字符集转换分析工具的使用.
.Oracle数据库的转移与升级.
.如何恢复一个只有完好数据文件的.
.Oracle 的入门心得.
.Oracle数据库中可移动的表空间详.
.ORACLE SQL性能优化系列 (八).
.ORACLE SQL性能优化 (上)(1).
.oracle联机热备原理及rman增量备.
.使用 SQL*Plus 访问数据库.
.ORACLE常见错误代码的分析与解决.
.ORACLE7.0到ORACLE8.1的新特性比.
.教你清除Oracle中无用的索引改善.
.讲解Oracle数据库自定义异常的使.
.关于exception的学习笔记.
.SugarCRM增加支持Oracle同MySQL套.
.Oracle 10G 最佳20位新特性:SQL.
.v$tempfile与v$sort_usage之关系.
.LINUX中使用鼠标滚轮.
.Oracle数据库的备份及恢复策略研.

Oracle里汉字长度问题!

发表日期:2008-2-9



   以前在做一个系统时,碰到了一个问题!今天无意之中找到了这个问题的解决方法,贴出来!!!

问题描述:
                varchar2(4000) abc;
                intert into table_name(abc) values('这里有1500个汉字……');
                报错:插入字符过长!经过测试,发现一个汉字占3个字节,所以报错!!!

问题所在:
                使用的字符集是UTF8,就有可能出现这个错误!
                使用命令查看:
                SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';

                PARAMETER
                --------------------------------------------------------------------------------
                VALUE
                --------------------------------------------------------------------------------
                NLS_CHARACTERSET
                AL32UTF8

解决方法:
                建议使用ZHS16GBK字符集!
                操作:
                        SQL> SHUTDOWN IMMEDIATE; 
                        SQL> STARTUP MOUNT; 
                        SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; 
                        SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 
                        SQL> ALTER DATABASE OPEN; 
                        SQL> ALTER DATABASE CHARACTER SET AL32UTF8/ZHS16GBK;
                        SQL> SHUTDOWN IMMEDIATE;
                        SQL> STARTUP;
                
问题解决!
!!
上一篇:如何在Oracle中实现时间相加处理?[原创] 人气:592
下一篇:Oracle9i新特性-使用DBMS_METADATA包获得对象DDL语句 人气:556
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐