Saiku配置Mondrian中Schema中文乱码问题解决方案
2016-06-28 10:53
567 查看
首先需要下载mondrian-3.6.5.jar的源码或者使用反编译软件看到源码,我在网上没找到这个版本(由于我用反编译工具弄的,放到文件中会报错,所以就下载了源码,反正也好找),于是我拿了mondrian-3.7.0.0-752的源码下来,用着也正常
1、从中找到文件mondrian.olap.Util,找到方法readVirtualFileAsString
修改内容为如下(重点是红色内容):
InputStream in = readVirtualFile(catalogUrl);
try {
return IOUtils.toString(in,"utf-8");
} finally {
IOUtils.closeQuietly(in);
}
或者按照网上说的另外一种方式,整体替换为如下内容,也可以,不过下面的编码必须写你的schema文件的编码:
try {
final byte[] bytes = Util. readFully(in, 1024);
final char[] chars = new char[bytes. length];
for ( int i = 0; i < chars. length; i++) {
chars[i] = ( char) bytes[i];
}
String str = new String(bytes,"utf-8").replace("\ufeff" , "" );//加replace("\ufeff", "")是为了过滤"UTF-8无BOM格式文件"的开头
return str;
} finally {
if (in != null) {
in.close();
}
}
2、再找到文件 mondrian.rolap.RolapSchema.load(String, String)
修改
in = Util.readVirtualFile(catalogUrl);
def = xmlParser.parse(in);
为
def=xmlParser.parse(Util.readVirtualFileAsString(catalogUrl))
1、从中找到文件mondrian.olap.Util,找到方法readVirtualFileAsString
修改内容为如下(重点是红色内容):
InputStream in = readVirtualFile(catalogUrl);
try {
return IOUtils.toString(in,"utf-8");
} finally {
IOUtils.closeQuietly(in);
}
或者按照网上说的另外一种方式,整体替换为如下内容,也可以,不过下面的编码必须写你的schema文件的编码:
try {
final byte[] bytes = Util. readFully(in, 1024);
final char[] chars = new char[bytes. length];
for ( int i = 0; i < chars. length; i++) {
chars[i] = ( char) bytes[i];
}
String str = new String(bytes,"utf-8").replace("\ufeff" , "" );//加replace("\ufeff", "")是为了过滤"UTF-8无BOM格式文件"的开头
return str;
} finally {
if (in != null) {
in.close();
}
}
2、再找到文件 mondrian.rolap.RolapSchema.load(String, String)
修改
in = Util.readVirtualFile(catalogUrl);
def = xmlParser.parse(in);
为
def=xmlParser.parse(Util.readVirtualFileAsString(catalogUrl))
相关文章推荐
- Orace查询数据出现乱码的问题解决思路
- oracle em 按钮乱码解决办法及em网页变成英文
- C#读取中文文件出现乱码的解决方法
- mysql命令提示行连接乱码的解决
- 解决Java程序使用MySQL时返回参数为乱码的示例教程
- Jquery乱码的一次解决过程 图解教程
- 解决realplayer11中文正式版网页右键乱码问题embed_cn.dll
- 计算机中的字符串编码、乱码、BOM等问题详解
- PHP附件下载中文名称乱码的解决方法
- PHP使用PDO操作数据库的乱码问题解决方法
- php+AJAX传送中文会导致乱码的问题的解决方法
- Discuz!nt 源文件变成乱码的解决方法
- 关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
- jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
- JavaScript中出现乱码的处理心得
- Js,alert出现乱码问题的解决方法
- 深入Lumisoft.NET组件开发碰到乱码等问题的解决方法
- jquery中文乱码的多种解决方法
- Jquery网页出现的乱码问题的三种解决方法
- oracle安装出现乱码等相关问题