日期:2014-05-17  浏览次数:20795 次

oracle9i里,我无法insert进去中文
插入记录后中文就变成了乱码。
(无论是用程序还是用oracle客户端编辑工具都是一样)
我是oracle新手,谢谢帮助

------解决方案--------------------
若是windows平台的

数据库中执行:
SELECT * FROM V$NLS_PARAMETERS;


將客户端注冊表ORACLE中﹐NLS_LANG的值改成先前查找出的NLS_LANGUAGE.NLS_CHARACTERSET
------解决方案--------------------
首先需要确定你的Oracle的字符集是什么,如果你的Oracle的字符集不支持中文,以后显示的时候会乱码.
在Java中的解决办法:
将中文转码成ISO再保存,显示时再从ISO转成GBK,就不会有问题了.

转码的java方法如下:
public static String ISO2GB(String isoStr)
{
if (isoStr == null)
return null;

String gbStr = " ";
try
{
gbStr = new String(isoStr.getBytes( "ISO_8859_1 "), "GBK ");
}
catch(Exception e)
{
System.out.println(e);
}
return gbStr;
}



public static String GB2ISO(String gbStr)
{
if (gbStr == null)
return null;

String isoStr = " ";
try
{
isoStr = new String(gbStr.getBytes( "GBK "), "ISO_8859_1 ");
}
catch(Exception e)
{
System.out.println(e);
}
return isoStr;
}