服务器A用的是oracle8 安装的时候不知道选择的是什么字符集。
服务器B用的是oracle9 字符集默认中文。
从服务器B用sqlplus查询服务器A中一个表时,中文字段显示乱码。
然后从服务器B中把注册表中的HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEO\NLS_LANG 的值修改为AMERICAN_AMERICA.US7ASCII(原先为SIMPLIFIED CHINESE_CHINA.ZHS16GBK)后,在用sqlplus查询时中文字段显示正常。可是我用delphi做了一个,从服务器A数据导入到服务器B的程序。
直接把服务器A查询到的中文字段数据插入到服务器B表中,然后查询B表数据时那个中文字段是乱码高手帮忙如何解决此问题????
个人分析:
我在想是否是因为服务器B中的字符集改成和服务器A一样了,所以查询显示正常,但服务器B修改过注册表,不支持中文显示了,所以用软件往里导入中文的时候保存的是乱码??
服务器B用的是oracle9 字符集默认中文。
从服务器B用sqlplus查询服务器A中一个表时,中文字段显示乱码。
然后从服务器B中把注册表中的HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEO\NLS_LANG 的值修改为AMERICAN_AMERICA.US7ASCII(原先为SIMPLIFIED CHINESE_CHINA.ZHS16GBK)后,在用sqlplus查询时中文字段显示正常。可是我用delphi做了一个,从服务器A数据导入到服务器B的程序。
直接把服务器A查询到的中文字段数据插入到服务器B表中,然后查询B表数据时那个中文字段是乱码高手帮忙如何解决此问题????
个人分析:
我在想是否是因为服务器B中的字符集改成和服务器A一样了,所以查询显示正常,但服务器B修改过注册表,不支持中文显示了,所以用软件往里导入中文的时候保存的是乱码??
-----------------------
不知道呢,我在服务器B上把字符集改成AMERICAN_AMERICA.US7ASCII以后,连接A服务器,查询到的就不是乱码
---------------------------
就是查询出来的数据 一条一条用insert导入到数据库
一
1. 在src中建立属性文件struts.properties,把如下内容放入:
struts.devMode=false struts.enable.DynamicMethodInvocation=true struts.i18n.reload=true struts.ui.theme=simple struts.locale=zh_CN struts.i18n.encoding=gbk struts.serve.static.browserCache=false struts.url.includeParams=none
#有许多人说struts.i18n.encoding=utf-8,经多次验证不行,必须改为gbk.
2.在web.xml中加入如下过滤器代码如下:
<filter> <filter-name>struts-cleanup</filter-name> <filter-class> org.apache.struts2.dispatcher.ActionContextCleanUp </filter-class> </filter> <filter-mapping> <filter-name>struts-cleanup</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<!--注意,这个过滤器和原有过滤器的不存在先后问题(网上有人提出,其实是不正确的)-->
二.mysql中文乱码问题
1.在MySQL Server 5.x程序路径中找到my.ini文件,这是mysql配置文件,有许多mysql server的默认属性.
用记事本打开,使default-character-set=utf-8.这样建表时,就不必考虑字符属性.
三.javaweb中与mysql数据库交互时乱码问题: 连接数据库 String uri = "jdbc:mysql://127.0.0.1:[3306]/database?useUnicode=true&characterEncoding=gbk".
以上时我使用的总结,并多次试验,均成立.
==============================================================================================================
这样并不能修改数据库的字符集,可以
select * from nls_database_parameters;
验证。
如果数据库 B 的字符集是数据库 A 的字符集的超集,A 到 B 的导入/导出通常没有问题,反之则不行。
==============================================================================================================
这样并不能修改数据库的字符集,可以
select * from nls_database_parameters;
验证。
如果数据库 B 的字符集是数据库 A 的字符集的超集,A 到 B 的导入/导出通常没有问题,反之则不行。