我现在遇到了一个大大的难题,就是Oracle数据库读取xml字符串的问题。
我的表中有个字段是varchar类型,足够大,我里面放的String,其实是一个xml文件的内容。我需要的是从数据库里面读出来这个String后,改为xml格式,dom4j能够自动解析出来。问题出现了:当这个字符串里只有英文的时候,对这个xml文件的解析是成功的。但是当里面出现中文后,直接读取形成xml文件后,次文件根本无法被IE显示,当然也不能用dom4j解析了。在记事本里打开一看,发现不是按utf8存的,然后save as选择utf8后,解析成功。
我现在需要的就是直接把数据库里面的字符串取出来以后,就能直接是以utf8进行存储的。当然,我的xml头是按utf8编码的,如果改为gb2312,则汉字也能成功,但是这只是个暂时的策略。
我查看了Oracle建新的数据库时的配置,发现有“默认字符集”和“国家字符集”两个选项,前者是没有utf8格式的。我现在想知道这两种字符集,分别是有什么用处呢?为什么指定utf8后,在数据库里面存储的还是GBK呢?问题重大,优先级很高,请大家尽力帮忙,我先谢谢大家了!!谢谢!!
我的表中有个字段是varchar类型,足够大,我里面放的String,其实是一个xml文件的内容。我需要的是从数据库里面读出来这个String后,改为xml格式,dom4j能够自动解析出来。问题出现了:当这个字符串里只有英文的时候,对这个xml文件的解析是成功的。但是当里面出现中文后,直接读取形成xml文件后,次文件根本无法被IE显示,当然也不能用dom4j解析了。在记事本里打开一看,发现不是按utf8存的,然后save as选择utf8后,解析成功。
我现在需要的就是直接把数据库里面的字符串取出来以后,就能直接是以utf8进行存储的。当然,我的xml头是按utf8编码的,如果改为gb2312,则汉字也能成功,但是这只是个暂时的策略。
我查看了Oracle建新的数据库时的配置,发现有“默认字符集”和“国家字符集”两个选项,前者是没有utf8格式的。我现在想知道这两种字符集,分别是有什么用处呢?为什么指定utf8后,在数据库里面存储的还是GBK呢?问题重大,优先级很高,请大家尽力帮忙,我先谢谢大家了!!谢谢!!
解决方案 »
- 求一条sql语句
- Oracle存储过程问题
- Oracle - OraClient10g_home1里的enterprise manager console 重启电脑后 不见了
- 请教: 关于交叉列表中使用变量作为列名
- 我做好的视图,查询速度很快,可是使用存储过程直接调用这个视图,速度超慢,为什么
- 关于vb和orcale的连接问题,告急!!!
- 连接ORACLE 时、出现的异常?
- 关于ORA-01536的问题,急!
- 急求XOraSession这个对象的相关文档
- .ora文件中的global_names=ture或false是什么意思?
- 为何decode不能放在where后面做查询条件
- 求一个sql,大虾帮个忙。
我现在需要的就是把这个字符串取出来之后,形成一个xml文件,这个xml应该是能被dom4j正确解析的。
现在的问题就是,当字符串中没有汉字时,直接形成的文件是正确的,但是如果有汉字,则xml文件会出错。因为存为xml文件时,默认是按ansi存储的……任务紧急,请大家帮忙啊!谢谢
就是文件里的一个字符占2个字节你的varchar只占一个字节我想在他们之间存取转换可能有问题
你把varchar换成nvarchar试一下
我是这样理解的不知道对不对,有不对的请大家提出来~~!!
见过的所有作Oracle数据库的,都没有考虑这么统一的,无奈了