安卓开发教程_安卓开发自学教程 - CSDN
精华内容
参与话题
  • Oracle中添加的中文变成"靠靠靠...

    千次阅读 2008-07-03 00:01:00
    p { font-family: "宋体"; font-size: 12px; font-style: normal; line-height: 18px; font-weight: normal; text-indent: 24px;}h1 { font-size: 36px; font-style: normal; font-weight

    如果安装的ORACLE字符集为非中文字符集(例如WE8ISO8859P1),使用System.Data.OracleClient作为驱动插入的中文字符串会全部变成“靠靠靠”之类的怪串(两个汉字一个字符串),可以使用如下两种解决方案:

    1、使用System.Data.OleDb作为数据驱动,其连接字符串格式如下所示:

    Provider=MSDAORA.1; Data Source=服务名; User Id=用户名; Password=口令; conn.cursorlocation=3

    2、重新编码字符串

    public string GetOracleCh(string str)  
    {
      	Encoding gbk_encoder = Encoding.GetEncoding(936);	//GBK  
    	byte[] bs = gbk_encoder.GetBytes(str);
      	char[] cs = new char[bs.Length];
      	for (int i = 0; i < bs.Length; i++)
      		cs[i] = Convert.ToChar(bs[i]);
      	return new String(cs); 
    }
    同时也出现了对应的问题,那就是使用常规手段从数据库出中取出的字符串是乱码,同样使用上面的两种解决方案,第二种解决方案对应的代码如下所示:

     

    public string GetChString(string str)  
    {
      	byte[] bs = new byte[str.Length];
      	for (int i = 0; i < str.Length; i++)
      		bs[i] = Convert.ToByte(str[i]);
      	Encoding gbk_encoder = Encoding.GetEncoding(936);
      	return gbk_encoder.GetString(bs); 
    }
    展开全文
  • oracle数据库中文显示靠靠靠靠”如何恢复成中文,希望可以用.net恢复中文显示出来,赶紧不尽,谢谢各位大神
  • 最近在做一个项目的时候,遇到了一个问题,在window 2003 系统oracle 11g数据库进行select的时候,结果靠靠靠靠”,当时的运维人员对oracle不太了解,所以就找到了我,我查看服务端与客户端的字符集,发现服务端...

            最近在做一个项目的时候,遇到了一个问题,在window 2003 系统oracle 11g数据库进行select的时候,结果为“靠靠靠靠”,当时的运维人员对oracle不太了解,所以就找到了我,我查看服务端与客户端的字符集,发现服务端为zhs16gbk,客户端为american_america.we8iso8858p1,当我把客户端修改与服务端一致字符集的时候,问题解决了。

    下面是我做的一个技术文档,为以后的人员学习oracle做个实例说明。

    环境为:

    window 2003 32系统、oracle 11g数据库

    1、连接windows 2003的oracle 11g

    
    
    1. C:\>sqlplus / as sysdba
    2. SQL*Plus: Release 11.2.0.1.0 Production on 星期一 5月 21 15:03:29 2012
    3. Copyright (c) 1982, 2010, Oracle. All rights reserved.
    4. 连接到:
    5. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    6. With the Partitioning, OLAP, Data Mining and Real Application Testing options
    2、查看客户端的字符集
    
    
    1. SQL> select userenv('language') from dual;  
    2.  
    3. USERENV('LANGUAGE')  
    4. ----------------------------------------------------  
    5. AMERICAN_AMERICA.ZHS16GBK  
    3、查看服务端的字符集
    
    
    1. SQL> set linesize 100  
    2. SQL> col parameter for a40  
    3. SQL> col value for a40  
    4. SQL> select * from nls_database_parameters where parameter like '%CHARACTERSET%%';  
    5.  
    6. PARAMETER                VALUE  
    7. ---------------------------------------- ----------------------------------------  
    8. NLS_CHARACTERSET             ZHS16GBK  
    9. NLS_NCHAR_CHARACTERSET       AL16UTF16  
    可以看到客户端与服务端的字符集都是一致的,均为ZHS16GBK。
    4、创建dl_char表
    
    
    1. SQL> create table dl_char (name varchar2(20));  
    2.  
    3. 表已创建。  
    5、插入数据
    
    
    1. SQL> insert into dl_char values ('字符集的乱码问题');  
    2.  
    3. 已创建 1 行。  
    6、进行select查询
    
    
    1. SQL> select * from dl_char;  
    2.  
    3. NAME  
    4. --------------------  
    5. 字符集的乱码问题  
    可以看得,现在显示为我刚才输入的值
    7、更改客户端的字符集
    
    
    1. C:\>SET NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 
    8、然后重新登录
    
    
    1. C:\>sqlplus / as sysdba  
    2.  
    3. SQL*Plus: Release 11.2.0.1.0 Production on Mon May 21 15:06:55 2012  
    4.  
    5. Copyright (c) 1982, 2010, Oracle.  All rights reserved.  
    6.  
    7.  
    8. Connected to:  
    9. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production  
    10. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
    9、查看客户端的字符集
    
    
    1. SQL> select userenv('language') from dual;  
    2. USERENV('LANGUAGE')  
    3. ----------------------------------------------------  
    4. AMERICAN_AMERICA.ZHS16GBK  
    可以看到客户端的字符集已经变为AMERICAN_AMERICA.ZHS16GBK了
    10、然后查看dl_char的值
    
    
    1. SQL> select * from dl_char;  
    2.  
    3. NAME  
    4. --------------------  
    5. 靠靠靠靠  
    现在就出现了我前面说的4个靠字的问题,从上面的实验,可以看到产生4靠的原因为:客户端与服务端的字符集不一致,所以解决这个问题的方法就是在客户端设置与服务端一致的字符集
    11、现在把客户端的字符集改成与服务端一致的字符集
    
    
    1. C:\>SET NLS_LANG=ZHS16GBK 
    12、然后登陆
    
    
    1. C:\>sqlplus / as sysdba  
    2.  
    3. SQL*Plus: Release 11.2.0.1.0 Production on 星期一 5月 21 15:13:11 2012  
    4.  
    5. Copyright (c) 1982, 2010, Oracle.  All rights reserved.  
    6.  
    7.  
    8. 连接到:  
    9. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production  
    10. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
    13、查看客户端与服务端的字符集
    
    
    1. SQL> select userenv('language') from dual;  
    2.  
    3. USERENV('LANGUAGE')  
    4. ----------------------------------------------------  
    5. SIMPLIFIED CHINESE_CHINA.ZHS16GBK  
    6.  
    7. SQL> select * from nls_database_parameters where parameter like '%CHARACTERSET%%';  
    8.  
    9. PARAMETER                VALUE  
    10. ---------------------------------------- ----------------------------------------  
    11. NLS_CHARACTERSET             ZHS16GBK  
    12. NLS_NCHAR_CHARACTERSET       AL16UTF16  
    14、现在客户端与服务端的字符集都一致了,在查看一下dl_char里的内容
    
    
    1. SQL> select * from dl_char;  
    2.  
    3. NAME  
    4. --------------------  
    5. 字符集的乱码问题  
             现在显示为正常的、我之前输入的值了,4个靠字也没用在出现,所以提醒大家一下,以后在做exp/imp导出/导入或者客户端查询数据等操作的时候,一定要把客户端的字符集与服务端的字符集设置为同一个。

     本文转自 reinxu 51CTO博客,原文链接:http://blog.51cto.com/dl528888/871323,如需转载请自行联系原作者



    展开全文
  • 要弄明白原理注册表里读取HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion 下的 Current Version 值XP 5.12003 5.2Vista ...

    要弄明白原理
    注册表里读取
    HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion
    下的 Current Version 值
    XP 5.1
    2003 5.2
    Vista 6.1

    读取哪个font.properties 就靠上面的值

    修改c:Program FilesOracleJInitiator 1.3.1.26lib目录下的
    font.properties.zh.5 为font.properties.zh.6,
    font.properties.zh.5.1为font.properties.zh.6.1

    windows 2003
    将 font.properties.zh.5.1复制为font.properties.zh.5.2

    退出 重新登陆一下 应该可以了

    -----------------------
    链接:http://www.itpub.net/thread-1208839-1-1.html

    [@more@]

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9634960/viewspace-1030459/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/9634960/viewspace-1030459/

    展开全文
  • 问题处理方式: 查询:select userenv('language') from dual; 对比电脑环境变量NLS_LANG的值与查询结果是否...字符集分可三类: 1、数据库服务器字符集; SELECT * FROM NLS_DATABASE_PARAMETERS NLS_DATA...

    问题处理方式:

    查询:select userenv('language') from dual;

    对比电脑环境变量NLS_LANG的值与查询结果是否一致,如果不一致,修改电脑环境变量NLS_LANG

    问题解决后通过查询资料对会话字符做了一些总结:

    字符集分可为三类:

    1、数据库服务器字符集;

    SELECT * FROM NLS_DATABASE_PARAMETERS

    NLS_DATABASE_PARAMETERS其来源于props$,是表示数据库的字符集。

    2、客户端字符集环境

    SELECT * FROM V$NLS_PARAMETERS;

    SELECT USERENV('language') FROM DUAL;

    USERENV、 V$NLS_PARAMETERS表示当前字符集环境。如果你在客户端执行,则表示客户端字符集环境。

    其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表 

    3、会话字符集环境

    SELECT * FROM NLS_SESSION_PARAMETERS;

    可以通过alter session set NLS_LANGUAGE='SIMPLIFIED CHINESE';修改会话字符集

    它来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是ALTER SESSION完成,如果会话没有特殊的设置,将

    与 V$NLS_PARAMETERS一致。

     

    客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件 

    字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。 

     

    转载于:https://www.cnblogs.com/lipera/p/6272968.html

    展开全文
  • 我问她什么要重装,她说:数据存入数据库后,中文字符有乱码,一定是我上次给她安装数据库的时候 有问题。当初为了给她安装个数据库,可是费了九牛二虎之力,64位数据库,32位数据库客户端来回折腾了 两天才弄好...
  • Delphi连接Oracle数据库时,出现中文乱码:靠靠,plsql查询出来的显示正常: with DmMain.ADOStoredProc1 do  begin  Close;  Parameters.Clear;  ProcedureName := 'pkg_SynZhongTai.sp_SaleListEnd';
  • 现象:装的是英文版本的form builder,中文字段都显示为”或者“?”
  • 再谈oracle中“”字的问题

    千次阅读 2013-06-09 10:33:35
    一般在遇到oracle中文显示’的问题,一般有以下几种办法:   1.  设置注册表中的NLS_LANG HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home\NLS_LANG 如将NLS_LANG 由:AMERICAN_AMERICA.WE...
  • oracle”字的困惑

    千次阅读 2011-08-29 10:37:45
    -- 请参考:-- 3.8 “”字的困惑 ( P109 )......-- *(1) 客户端应用字符集(Client Application Character Set)。测试客户端应用使用命令行工具(cmd.exe),-- 这个工具的字符集决定查询结果在终端上的输出显示
  • 做天晚上换了个win7的系统,oralce8i安装好后,在sql navigator中输入sql语句查询的时候,结果中文都出现 '靠靠靠?'的乱码,找到了以下解决方法: 键入regedit打开注册表找到HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0...
  • 2.HKEY_LOCAL_MACHINE—>SOFTWARE —> ORACLE—>KEY_OraDb11g_home1(不同版本的Oracle显示不太一样,但 会包含home这个单词) 3.找到“NLS_LANG”,查看数值数据是否:“SIMPLIFIED
  • 问题,如题。之前在网上查到一些大人说要修改注册表,但乱码依然存在。 解决方法:新建系统环境变量:NLS_lANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK 
  • 1、转成拼音首字母(这个很多我也是网上复制使用的) CREATE OR REPLACE FUNCTION F_TRANS_PINYIN_CAPITAL(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COMPARE VARCHAR2(100); V_RETURN VARCHAR2(4000);...
  • 解决方法: 1.打开 PLSQL Developer 安装目录下,看到有PLSQLDev.exe的目录, 在PLSQL Developer文件夹内新建“PLSql_run.bat”文件,在该文件中输入下面内容: --------------------------------------------------...
  • 公司的系统使用的tomcat+jsp+oracle,目前来说系统运行还是很正常的。现在有一个问题就是系统在批量导入excel表格时有关日期的问题出现了。 这个系统支持的日期格式是1999-08-08,而excel表格中的默认日期格式是...
  • 前几天出现这个问题,郁闷像是oracle给我开得玩笑。 搜了下,贴出一下分析和解决方案。 一、问题描述 SQL Plus WorkSheet是一个窗口图形界面的SQL语句编辑器,对于那些喜欢窗口界面而不喜欢字符界面的...
  • delphi+ado+oracle碰到难题!!! Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiDB/html/delphi_20061225203107103.html 服务器:繁体WinXP+oracle8i,字符集:ZHT16BIG5. 客户机:简体WinXP,字符集原来是:...
1 2 3 4 5 ... 20
收藏数 3,821
精华内容 1,528
关键字:

安卓开发教程