zoukankan      html  css  js  c++  java
  • csv 文件用Excel打开乱码

         最近在做一个上传的功能,记录下自己的感受。

         刚开始我用的是excel上传;但是发现客户服务器有用64位的,使用的时候程序会报错;

      未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

         经查阅资料,发现是excel对64位的兼容性很差;64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。所以用于Access 和 Excel 数据库的 MicrosoftOLE DB Provider for Jet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了:

    "Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.mappath(db)
    "driver=Microsoft AccessDriver (*.mdb);DBQ="&Server.MapPath(db)

    我查找的解决方案中最多的是把程序在vs下重新编译:“生成-配置管理器-点击anyCPU-选择新建-创建x86”;解决。
    刚解决了这个问题,又一个问题出来了,另一个客户的服务器上没有装office;这又要怎么办呢,再求救度娘,发现要将excel的几个dll打包到自己的程序中,可素可素

    这样也太麻烦点了吧。这次我没有照做,而是选择的改变上传的文件格式;本来就是一块儿很小的东西,没有必要把它搞这么麻烦。我选择了csv文件。在网上有现成的

    读文件代码;直接用就行了。但是又遇到问题了,编码问题;用记事本或者写字板打开都没问题;但是用excel打开的时候问题来了,一堆乱码。肿么回事捏捏捏!原来excel打开默认的编码方式是ANSI,而ANSI标准不太统一,程序处理中文一般采用gb2312或者gbk,等;不过这个小问题对于我的项目来说可以忽略;让客户选择其他打开方式就行了,也没再往下探索了,你,知道吗?

         总结:在使用某种特定技术之前应该要考虑它的使用平台和可移植性。

  • 相关阅读:
    Swing中的并发使用SwingWorker线程模式
    使用批处理打二次开发包
    【转】批处理删除SVN文件
    EAS BOS ORMapping的研究
    EAS BOS ORMapping 元数据解析示例
    ORMapping学习
    EAS BOS数据查询默认会查分录的分析
    【Oracle】常用查询
    KDTable公式解析提示信息设置
    【转】Swing多线程编程
  • 原文地址:https://www.cnblogs.com/chongchong409/p/3503647.html
Copyright © 2011-2022 走看看