oracle 数据库读出的中文是一串正方形乱码 我用vs2008的vb写一个程序,但是从数据库oracle中读出中文,然后赋值给textbox,但结果是一串正方形乱码,求解怎么处理这个问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select userenv('language') from dual; 输出的字符集必须能够支持中文。注册表中,或者你在程序运行变量中设置NLS_LANG 能够反应你程序所使用的字符集。以便数据库能够正确给你转码 数据库是这种编码AMERICAN_AMERICA.US7ASCII,在vb里面应该怎么处理才可以查询出中文,麻烦各位大侠了 百度有人说。。利用System.Data.OleDb.OdbcConnection类访问数据,可以解决编码AMERICAN_AMERICA.US7ASCII读取中文乱码的问题。。可以试试看 连接字符串:"Provider=MSDAORA.1;Data Source=(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.0.5)(PORT = 1521)))(CONNECT_DATA = (SID = DEV))) ;User Id=lswen;Password=1169"另外的说法。。依據測試的結果顯示 CoreLab 公司的 OraDirect.NET 可在此狀況下正確顯示中文,執行效率也較 OLE-DB Provider 來的高。 修改注册表即可。Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]"ID"="0""ORACLE_GROUP_NAME"="Oracle - OraHome81""ORACLE_HOME_NAME"="OraHome81""ORACLE_HOME"="E:\\oracle\\ora81""NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK""ORACLE_HOME_KEY"="Software\\ORACLE\\HOME0""SQLPATH"="E:\\oracle\\ora81\\dbs""MSHELP_TOOLS"="E:\\oracle\\ora81\\MSHELP" 如果数据库字符集是AMERICAN_AMERICA.US7ASCII 理论上是不能存储中文的。AMERICAN_AMERICA.US7ASCII是单字节字符集,而中文最少要两个字节。如果不能将数据库修改为建议使用zhs16gbk(中文支持很好),或者al32utf8(支持多语言)当然,有一种方法,可以欺骗数据库,让中外正确显示,那就是把注册表的nls_lang 修改为AMERICAN_AMERICA.US7ASCII。一般不建议这么做,因为将来备份、数据交换的时候很容易乱码。 如果要欺骗数据库修改为"NLS_LANG"="AMERICAN_AMERICA.US7ASCII"如果要数据库能够真正存储中文,修改数据库字符集.在创建数据库的时候设置的. 注册表的nls_lang 已经是AMERICAN_AMERICA.US7ASCII了,问题我在vs里面转不了,读出来的中文显示不了,汗,麻烦大侠了 sql语句问题 如何将自已用户下的所有表的查询权限授予其他用户,是所有哦 ora-03127: 在活动操作结束之前不允许进行新的操作 问题 ORACLE关联表批量更新 如何屏蔽显示信息 请教,想实现一个功能,sql不知道怎么写好 把查询结果写入表中的'存储过程'如何写??? 导入数据失败??? proc程序中是否真的不可创建临时表?谢谢各位 在线等待,急,高分求教SQL的问题,请高手帮帮忙 唯一键 数据库大批量插入操作 性能影响 请教一个关于UPDATE执行结果的问题
利用System.Data.OleDb.OdbcConnection类访问数据,可以解决编码AMERICAN_AMERICA.US7ASCII读取中文乱码的问题。。可以试试看 连接字符串:"Provider=MSDAORA.1;Data Source=(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.0.5)(PORT = 1521)))(CONNECT_DATA = (SID = DEV))) ;User Id=lswen;Password=1169"另外的说法。。
依據測試的結果顯示 CoreLab 公司的 OraDirect.NET 可在此狀況下正確顯示中文,執行效率也較 OLE-DB Provider 來的高。
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]
"ID"="0"
"ORACLE_GROUP_NAME"="Oracle - OraHome81"
"ORACLE_HOME_NAME"="OraHome81"
"ORACLE_HOME"="E:\\oracle\\ora81"
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
"ORACLE_HOME_KEY"="Software\\ORACLE\\HOME0"
"SQLPATH"="E:\\oracle\\ora81\\dbs"
"MSHELP_TOOLS"="E:\\oracle\\ora81\\MSHELP"
"NLS_LANG"="AMERICAN_AMERICA.US7ASCII"如果要数据库能够真正存储中文,修改数据库字符集.在创建数据库的时候设置的.