java导出数据到dbf文件,如果姓名中有生僻汉字,在dbf中看到的很可能是?号。

遇到这种情况需查对GBK的生僻汉字的Unicode表,GBK提及的52个生僻汉字有两种Unicode。例如:䶮(yan 3) \u4ADE就不能在dbf中正常显示是?,如果换成\uE863则可以(可以打开word的插入->符号->其他符号,在字符代码中输入4ADE的到字符插入word,输入E863的到另一形式插入word,将这两种形式的字符从word拷贝到Visual Fox Pro的命令窗口可以看到差别,一个变成?一个能正常显示)。

解决方式:

1.建立52个生僻汉字的unicode映射Map

2.将生僻汉字转成unicode形式(有可能是将整个姓名转成unicode)

3.将姓名的unicode形式进行分割(\u)生成数组(注意两端的双引号)

4.遍历unicode数组,如果找到生僻汉字的unicode则进行替换

5.将unicode还原成汉字

6.写入dbf

汉字转unicode可利用(import com.alibaba.fastjson.JSON) :

    //unicode转中文public static String unicodeToString(String str) {  return String.valueOf(JSON.parse(str));}//中文字符转unicodepublic static String stringToUnicode(String s) {  return JSON.toJSONString(s, SerializerFeature.BrowserCompatible);}

其他说明:

例如:䶮在mysql中能显示出来,导出到dbf中时如果选择字符集为GB2312或GBK,导出的䶮为?。
          在Visual Fox Pro 9的命令窗口里输入的䶮为?,
          打开word,插入,输入字符编码4DAE得到䶮,插入到word,复制粘贴到Visual Fox Pro 9的命令窗口改字显示为?
打开word,插入,输入字符编码8E63得到 ,有些版本的Word能显示出来,有些版本的不能显示,按Alt+X,插入到word,复制粘贴到Visual Fox Pro 9的命令窗口改字能显示正常
上图输入E863无反应
按快捷键Alt+x后的效果

java导出dbf文件生僻汉字处理相关推荐

  1. Java 导出DBF格式文件(标题中文)

    本文章不是原创,但是我抄袭的那个连接我找不到了,还是有些自己写的东西,见谅! 目录 前言 一.DBF是什么? 二.使用步骤 1.引入库 2.正文 总结 前言 写这篇文章是有原因的,我前两天有一个需求, ...

  2. Java 导出CSV文件及实现web下载CSV

    本文主要介绍Java 导出CSV文件到本地及实现web下载CSV. 1.Java 导出CSV文件到本地 csvWriter: package com.csvio;import java.io.Buff ...

  3. Java导出excel文件以.xlsx后缀结尾,可设置部分单元格只读

    前言 最近在做一个小项目,有个模块的功能涉及到excel的导入导出,并且要求对导出的excel文件部分列和单元格设置为只读不可更改,在网上到处查找了一番资料,结合自己的想法,发现也并不难,这里整理记录 ...

  4. java导出excel文件(标题为中文乱码)

    1 Java导出Excel文件 function excelOut(){   window.location.href="../getFileToExcel/"+taskId; } ...

  5. 咖啡汪日志——JAVA导出pdf文件加水印 文字+图片、文字

    咖啡汪日志--JAVA导出pdf文件加水印 文字和图片.文字 hello,又大家见面了! 作为一只不是在戏精就是在戏精路上的哈士奇,今天要展示给大家的就是如何快捷地给pdf文件增加各种水印.嗷呜呜,前 ...

  6. 使用java导出pdf文件

    使用java导出pdf文件 itext itext的使用 JasperReports JasperReports与itext的区别 Jaspersoft Studio 工具简介 Jaspersoft ...

  7. 用PB从ORACLE导出DBF文件,PB导出规定格式DBF文件

    最近在做一个给卫计委做数据上报的数据接口,接口要求使用奇葩的dBase 3数据库存储上报数据,忙活了几天总算搞好了,使用开发工具为powerbuild 12,222个字段的上报数据表生成DBF文件,写 ...

  8. java导出 elsx 文件,如何获取java导出的excel文件,发送请求导出excle文件

    如何获取java导出的excel文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 request.setCharacterEncoding("utf-8"); ...

  9. java导出csv文件_java导出生成csv文件的方法

    本文实例为大家分享了java导出生成csv文件的具体代码,供大家参考,具体内容如下 首先我们需要对csv文件有基础的认识,csv文件类似excel,可以使用excel打开,但是csv文件的本质是逗号分 ...

最新文章

  1. 解决 macOS 上 iterm2 使用 rz/sz 卡死的问题
  2. Java技巧:深拷贝的两种方式2(转)
  3. 字典数组根据某key排序
  4. 图像处理中ct图的通道是多少_新一代安检CT机,智能安防领域又一明星产品
  5. CSS英文单词强制换行
  6. Nginx常用配置清单
  7. java如何画矩形条和填充_java.awt.Graphics 类的哪个方法可绘制填充矩形?
  8. 图片轮播器(swift)
  9. QT_TableWidget插入checkbox
  10. 克隆的虚拟机一直重复出现登录界面_QQ空间里的装扮怎样才能克隆到自己空间?...
  11. itext设置字体间距_Java使用iText生成pdf
  12. s5pv210时钟系统详解
  13. 逻辑推理与判断(委派任务)
  14. MX_Player_Pro_专业精简版AC3/DTS/EAC3 By.SOLDIER-就要应用网91apps.cn
  15. Tableau文件管理
  16. android平板性价比,性价比超高的安卓娱乐平板推荐
  17. 小学生体测测试环境怎么填_2016年国家学生体质健康测试数据上报工作说明
  18. 详解SQL中几种常用的表连接方式!
  19. Cocos2d-x游戏暂停、继续游戏、重新开始界面的实现---之游戏开发《赵云要格斗》(10)
  20. 用PHP来统计在线人数的四个方法详解

热门文章

  1. 猿创征文|嵌入式从业者从懵懂到专业
  2. 国际标准电话和手机号码的正确写法
  3. WOW副本任务制作方法
  4. ElasticSearch之Head插件集群健康问题
  5. Mac鼠标移动速度慢解决方案
  6. GSI-PDP管网勘测综合数据处理软件操作手册
  7. 前端开发学习笔记(二)JavaScript DOM编程技术(一、二)
  8. python编写一个名片_python基础-实现名片功能
  9. 人人都是设计师:主流七种平面版式
  10. 浅谈图数据库1:什么是图?