`
woshixushigang
  • 浏览: 575828 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

解决linux环境下上传文件及读取csv文件乱码

 
阅读更多
  昨天弄了短信运营工具,开始时候本机测试一切ok的,但是放到linux环境上就是不行,读取的csv文件为乱码,
  找了一堆堆的资料还是不行。我的机器环境是win7系统。

 
            String realPath = WebApplicationConstant.WEB_ROOT + 
            SpringPropertyConfigurer.getContextProperty("manage.path.tmp");
            File fileDir = FileHelper.createDirIfNoExist(realPath);
            int maxsize = Integer.parseInt(SpringPropertyConfigurer.getContextProperty("manage.file.available.size.profile"));
            MultipartRequest mr = new MultipartRequest(request, realPath, maxsize, "UTF-8");
 
 String realPath = WebApplicationConstant.WEB_ROOT + SpringPropertyConfigurer.getContextProperty("manage.path.tmp");
                    BufferedReader reader;
                    try {
                        FileReader fr = new FileReader(realPath + uploadfile); 
                        reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File(realPath + uploadfile)), fr.getEncoding()));
                        reader = new BufferedReader(fr);
                        String str = null;
 
我采用的是动态获取文件编码,之后按照这个编码读取文件,但没什么用!!!
linux系统编码是utf-8的,我win7系统编码默认是UTF-8,程序编码是UTF-8,jvm是GBK的,所以我本地上传
ansi文件之后,fr.getEncoding 获取的是当前运行他的工具。比如我jvm  gbk 获取的就是gbk。
但是我更改jvm 运行编码为UTf-8  fr.getEncoding打印出的UTF-8

 

十分怪异的问题,希望高手明确指点下非常感谢!!!
linux环境下tomcat设置如下方式,即可上传默认的ansi文件编码,存到数据库不会乱码!!!!!!
 
# add GBK file encoding
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

注意:eclipse工具默认的-Dfile.encoding=GBK。

注意:cos上传方式只是对文件名进行编码,内容没有管。

获取系统编码

 

String encoding = System.getProperty("file.encoding");
	    System.out.println("你的操作系统所用的编码为:"+encoding)

 

1
0
分享到:
评论

相关推荐

    java生成csv文件乱码的解决方法示例 java导出csv乱码

    在Java中生成CSV(Comma Separated Values)文件时,可能会遇到乱码问题,这通常是由于编码设置不正确导致的。CSV文件是一种常见的数据交换格式,通常用于导入和导出数据到电子表格程序如Microsoft Excel。当在Java...

    php使用fgetcsv读取csv文件出现乱码的解决方法

    在中文操作系统环境下,源CSV文件常常是以ANSI编码保存的,而在PHP代码中如果不进行适当的编码转换,直接读取这样的CSV文件就会导致乱码。 解决乱码问题的一个有效方法是将CSV文件从其原始编码转换为UTF-8编码。在...

    import table文件时乱码解决,LOAD外部文件时乱码解决方法.txt

    本文将深入探讨在使用PL/SQL进行表导入(import table)以及通过LOAD语句加载外部文件时出现乱码的常见原因及解决方案。这不仅适用于Oracle数据库环境,也对其他支持类似功能的数据库系统有所启示。 ### 一、理解...

    php导入csv文件碰到乱码问题的解决方法

    在PHP中导入CSV文件时,可能会遇到乱码问题,特别是在跨平台操作,如从Windows开发环境转移到Linux生产环境时。本文将详细介绍如何解决这两个常见问题。 **问题一:Windows环境下的乱码问题** 在Windows环境下,...

    jfreechart乱码(linux下)

    在Linux环境下,JFreeChart库可能会遇到乱码问题,这主要涉及到字符编码的处理。JFreeChart是一个强大的Java图表库,用于生成高质量的2D图形,如饼图、柱状图、线图等。然而,当在Linux系统上运行含有中文或其他非...

    解决rf中文乱码问题

    1. **测试数据文件**:如果你的测试数据文件(如CSV或Excel)包含了中文字符,你需要确保文件本身的编码是UTF-8,同时在RF读取这些文件时也要指定正确的编码。例如,使用`Resource`关键字导入资源文件时,可以通过`...

    NIO(byteBuffer)按行读取文件

    使用nio byteBuffer 实现按行读取文件(大文件) 在window/linux/macOS上均测试通过 对于中文乱码也已处理成功 完整注释,可随需求更改 有问题请邮件:mly610865580@126.com

    nodejs读取本地中文json文件出现乱码解决方法

    通过上述方法,我们可以确保在Node.js环境下正确处理本地中文JSON文件的读取,并避免出现乱码问题。务必记住,文件编码的正确处理对于保持数据的完整性至关重要,特别是在进行文件读取和写入操作时。

    data.txt文件

    文本文件可能存在不同的编码格式(如UTF-8、ASCII等),在读写文件时应正确指定编码,避免乱码问题。 #### 3. 文件路径 正确处理文件路径是文件操作的关键,特别是在跨平台项目中。使用操作系统提供的路径分割符...

    C++文件问题

    ### 文件读取错误常见原因及解决方法 #### 1. 文件路径错误 确保文件路径正确无误。如果使用相对路径,应检查当前工作目录是否正确;如果使用绝对路径,则需确保路径完整无误。 #### 2. 文件权限问题 检查是否有...

    JMETER 常见问题及解决方法

    打开JMeter安装目录下的`jmeter.bat`文件(在Unix/Linux系统中是`jmeter.sh`),找到`set HEAP`开头的行。默认设置可能如下: ``` set HEAP=-Xms512m -Xmx512m set NEW=-XX:NewSize=256m -XX:MaxNewSize=256m `...

    统计建模与R语言习题答案.pdf

    5. **读写文件**:R语言提供了多种读写文件的函数,如`write.table()`用于保存数据框为文本文件,`read.table()`用于读取文本文件到数据框,`write.csv()`和`read.csv()`分别用于读写CSV文件。文件名在命令中用双...

    matlab中使用文本文件(.txt)进行数据存取的技巧总结.docx

    对于非ASCII编码的文本文件,如UTF-8编码的文件,必须使用二进制模式进行读写,否则可能会导致乱码。MATLAB提供了`utf8`、`unicode`等函数支持多种编码格式。 此外,当处理大量数据时,使用内存映射文件(`...

    students1.zip

    在Python中,可以使用内置的`csv`模块读写CSV文件,也可以使用pandas的`read_csv()`函数快速高效地处理大量数据。 总的来说,CSV文件在IT领域扮演着至关重要的角色,无论是数据的存储、传输还是分析,它都是不可或...

    matlab 读txt 文件技巧

    本篇文章将深入探讨MATLAB读取TXT文件的技巧,以及如何解决在这个过程中遇到的常见问题。 首先,MATLAB提供了多种函数来读取TXT文件,其中最常用的是`textread`和`csvread`,以及更为现代且灵活的`textscan`函数。`...

    Linux fgetcsv取得的数组元素为空字符串的解决方法

    在Linux环境中,尤其是在服务器端开发时,经常需要处理CSV(逗号分隔值)文件,以便导入或导出数据。`fgetcsv`是PHP中用于读取CSV文件的内置函数,它能逐行解析文件并返回一个包含字段的数组。然而,在不同操作系统...

    CSV

    确保正确读取文件的编码,以免出现乱码问题。 4. 首行:CSV文件的第一行通常是列名,但这不是强制性的。如果文件没有列名,那么数据的含义需要根据上下文来理解。 5. 数据类型:CSV文件自身不包含数据类型的定义,...

    matlab常见问题,关于matlab编程的基本帮助文件

    1. 打开命令提示符(在Windows环境下)或者终端(在Linux环境下)。 2. 导航到MATLAB Web Server的安装目录下的bin/win32目录,通常路径为 `安装路径>/webserver/bin/win32`。 3. 在该目录下运行命令 `matlabserver-...

    python写入中英文字符串到文件的方法

    为了解决这个问题,我们需要使用`codecs`模块,它提供了更灵活的文件读写功能。 ##### 3.1 示例代码 下面是一个使用`codecs`模块写入包含中文的字符串到文件的示例: ```python import codecs # 设置正确的编码...

Global site tag (gtag.js) - Google Analytics