写下这个标题,我自己先笑了下, 口气有些大了. 不过,这么大的一个标题,倒是反映了我当时心情, 也就是我解决乱码问题过程中一个关键的转折点. 这里围绕这个关键转折点把当时的情况记录一下来.

      前面在"乱码(三): 问题的出发点 "中,  根据分析得出解决问题的用力点应该是"/etc/sysconfig/i18n"这个文件. 但折腾了些时间后(围绕这个i18n改动时的问题记录详见"乱码(二): Linux下/etc/sysconfig/i18n究竟是干什么用的? "). TMD怎么还不行呢? 但问题还是要解决的,得另找突破口. 

      .............

      一段搜索后, 对编码问题也有了个相对深刻的认识, 也跌跌撞撞地想到了Java中的Charset类, 于是习惯性地看源码,发现两个让眼前一亮的方法: defaultCharset和availableCharsets.
      写代码试它一试.
      availableCharsets方法没什么新奇的,顾名思义,用它可以得到当前Java所支持的字符集.
      写体验defaultCharset方法代码时,从它输出结果上联想到一个跟当前乱码问题相关的一点: 这个方法返回当前JVM默认的字符集(通常是操作系统的字符集),  那不是通过这个方法就可以看出乱码问题"元凶"Linux所有字符集了?!! 因为从"乱码(二): Linux下/etc/sysconfig/i18n究竟是干什么用的? "里结果发现单独改i18n文件好像是起作用. 而乱码问题的最终落脚点是把字符串按操作系统使用的字符集来组装, 这样操作系统才能显示出人能读懂的文字来.

      基于这样的思考,赶紧把实验defaultCharset方法的Java例子传到Linux上. 于是有了"乱码(二): Linux下/etc/sysconfig/i18n究竟是干什么用的? "里的图片对比信息!!!
      又"鬼使神差"地想到: 既然改i18n文件不行, 那何不在Linux上Tomcat启动时利用"export LC_ALL=zh_CN.GBK"命令对字符集做下修改呢? 再在文件上传的的相应代码里加上'new String(uploadDir.getBytes(),"GBK");',这样不就两头凑地解决了问题??

      赶快行动, 成功了! 上传的文件名不再乱码了!

      再回过头看整个过程, 虽然最终代码中没有体现出defaultCharset方法, 但它却恰恰成了"撬到地球的支点", 没有它的牵线搭桥就不会很快想出两头凑的解决方案来.

乱码(四): 撬动地球的支点

相关文章

  1. jrebel linux tomcat,JRebel + Tomcat 配置

    此下使用jrebel方式为不使用eclipse plugins方式,是直接用jvm vm arguments参数形式进行配置。1. 下载 JRebel.jar、jrebel.lic(官网试用)2. Tomcat配置1)打开tomcat配置信息,设置Publishing —— Never publish antomatically2)打开Open launch configu…...

    2023/1/31 20:29:04
  2. 全球及中国吊顶行业研究及十四五规划分析报告

    中国是最大的市场,约占59%的市场份额,其次是欧洲和美国,约占33%的市场份额。 主要的生产厂商有Armstrong, Saint-Gobain, Hunter, OWA, ROCKWOOL International, SAS International, Siniat, Hufcor, YOUPON INTEGRATED CEILING, Ouraohua等。…...

    2023/1/31 20:27:49
  3. mediapipe.python._framework_bindings.packet.Packet

    姿态估计库出现问题 Traceback (most recent call last):File "D:/bishe/SelfPose/PoseMoudle.py", line 71, in <module>main()File "D:/bishe/SelfPose/PoseMoudle.py", line 57, in maindetector poseDetector()File "D:/bishe/SelfPose/P…...

    2023/1/31 20:27:47
  4. IT 行业中Dev、RD、CPO、TeamLeader、QA、PM、PO ,HC,TL 分别是什么的简称,他们分别对应的职责是什么?

    1、Dev&#xff1a;软件研发技术负责人 软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。 2、RD&#xff1a;研发&#xff08;Research and Development&#xff09; 如&#xff1a;软…...

    2023/1/31 20:25:30
  5. 语义实例分割1-02:snake(实时实例分割))-官方数据训练测试,环境搭建等

    以下链接是个人关于 voxelpose(多视角3D人体姿态估算) 所有见解&#xff0c;如有错误欢迎大家指出&#xff0c;我会第一时间纠正。有兴趣的朋友可以加微信&#xff1a;17575010159 相互讨论技术。若是帮助到了你什么&#xff0c;一定要记得点赞&#xff01;因为这是对我最大的鼓…...

    2023/1/31 20:21:30
  6. 《大话数据结构》队列代码汇总

    //队列 #include<stdio.h> #include<stdlib.h> #include<time.h> #define MAXSIZE 1000 #define MAX_SIZE 20 #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 //*************************** typedef int Status;//Status是函数的类型&#x…...

    2023/1/31 20:20:23
  7. Android设置页面之PreferenceFragment的简单使用示例

    1.PreferenceFragment介绍 a.PreferenceFragment实际为Fragment的一个子类 b.创建一个PreferenceFragment需要绑定一个xml来显示视图 c.绑定后没就可以当作普通Fragment使用&#xff0c;只是每new一个实例就会创建一个SharePreference,把之前绑定的xml中的值写入保存&#x…...

    2023/1/31 20:19:45
  8. 面试 —— 进程和线程的区别

    一、进程 进程是程序在一个数据集上的一次动态执行的过程&#xff0c;是系统进行资源分配和调度的一个独立单位。 二、线程 线程&#xff1a;是进程的一个实体&#xff0c;是cpu调度和分派的基本单位&#xff0c;他是比进程更小的能够独立运行的基本单位&#xff0c;线程自己基…...

    2023/1/31 20:17:31
  9. 《集团客运系统》项目总结(C# mvc)

    《集团客运系统》项目总结(C# mvc) 作者&#xff1a;尚路成 本次任务完成时间&#xff1a;2017年8月15日~11月27日 开发工具与关键技术&#xff1a;Visual Studio C# MVC、CSS、HTML、JQ 1、项目概要系统共涵9个大模块&#xff0c;分别是售票管理、报班管理、检票管理、调度管…...

    2023/1/31 20:05:01
  10. 全球及中国吊链总成行业研究及十四五规划分析报告

    从地区看,欧洲市场份额较大,占39%。中美两国市场份额分别为21%和17%.主要的生产厂商有RUD Group, Pewag, Gunnebo, Peerless Industrial Group, Julisling, Delta Rigging & Tools, J.D. Theile, Retezarna A.S., Certified Slings等。排名前三的厂商约占40%的市场份额。 …...

    2023/1/31 20:04:47
  11. 杭州c语言,杭州c语言基础学习

    C语言是计算机体系结构的根底&#xff0c;向下能够操作硬件(包含ARM&#xff0c;DSP&#xff0c;单片机等各种微处理器)&#xff0c;还能够写驱动&#xff0c;写OS&#xff0c;写编译器。向上能够进一步的学习C&#xff0c;JAVA等面向对象语言&#xff0c;再学习一些图形用户界…...

    2023/1/31 20:04:38
  12. 2021全国大学生电子设计竞赛C题

    三端口 DC-DC 变换器&#xff08;C 题&#xff09;...

    2023/1/31 19:52:30
  13. winhttp 发送 get 请求

    由于微端要和服务器交互&#xff0c;而服务器又只有http协议的处理&#xff0c;所以需要用C来模拟get或post请求。 这是使用windows api来模拟get请求的&#xff0c;使用到的库有“winhttp”&#xff0c;头文件有“winhttp.h”&#xff0c;下面的代码来源于http://msdn.microso…...

    2023/1/31 19:40:08
  14. AfxMessageBox另外一种快速使用方法

    在MFC中&#xff0c;很多字符串是要写到String table中的&#xff0c;如果AfxMessageBox要用到这种字符串&#xff0c;可以使用2种方法&#xff1a; 假设字符串ID为IDS_STRING1&#xff1b; 1.CString str; str.LoadString(IDS_STRING1); AfxMessageBox(str); 2.AfxMessag…...

    2023/1/31 19:35:59
  15. sql怎么发音mysql_[原创]SQL发音考证(搜寻SQL-86标准)

    据我观察&#xff0c;中国的开发者创造了一种独特的SQL发音&#xff1a;/sɜːkl/&#xff0c;既好听&#xff0c;又好读&#xff0c;挺好的。但是今年我开始做数据库相关的工作&#xff0c;作为一个专业人士&#xff0c;决定对SQL发音进行一些考证。直接说结论吧&#xff0c;很…...

    2023/1/31 19:35:24
  16. (62)C#里怎么样转换16进制字符串为数字类型?

    (62)C#里怎么样转换16进制字符串为数字类型? 在C#的开发里,经常遇到这种情况,比如正在开发上位机软件,这时候与下位机进行通讯,由于某种原因导致读取的数据不对,又因为下位机调试不方便,这时候下位机的开发人员就要求上位机软件里把通讯协议打印出来,这时需要把收到的…...

    2023/1/31 19:35:19
  17. mysql查询书籍v2ex_豆瓣图书 API 停服了,最近开发一个图书数据库的微信小程序,图书数量有几十万本,通过 ISBN 调用 API 获取图书信息...

    支持图书 API 调用&#xff0c;通过 ISBN 查询图书数据&#xff0c;支持 10 位和 13 位 ISBN&#xff0c;请将 {isbn} 更换为实际的图书 isbn&#xff0c;即可获取图书数据&#xff0c;更多介绍&#xff0c;请搜索“图书数据库丨图书 ISBN 丨图书 API”微信小程序&#xff0c;谢…...

    2023/1/31 19:27:25
  18. VirtualBox安装CentOS8

    镜像下载 官网下载地址&#xff1a; 点击进入 选择下载源 选择下载镜像 选择哪个都可以 创建虚拟电脑 新建虚拟电脑 内存分配 创建虚拟电脑 虚拟硬盘文件类型 专家模式 文件大小 存储在物理硬盘上-动态分配&#xff1a;在本地学习时选择&#xff0c;动态扩展大小存储在物…...

    2023/1/31 19:10:08
  19. 硬件/操作系统/网络(十二):网络基本概念的知识扫盲

    就因为涉及敏感词汇&#xff0c;文章是一直发不出去&#xff0c;只是几个简单网络设备概念和理解&#xff1b; NAS Network Attached Storage&#xff1a;网络附属存储&#xff0c;简单说就是连接在网络上&#xff0c;具备资料存储功能的装置&#xff0c;因此也称为“网络存储…...

    2023/1/31 19:08:50
  20. 全排列算法(穷举、递归、字典序)

    // Permutation.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <algorithm> #include <string> //全排列有三种思路来解决&#xff1a;暴力穷举、递归、字典序 //暴力穷举 //当数值很小的时候可以使…...

    2023/1/31 19:08:30

最新文章

  1. MybatisPlus调用原生SQL

    文章目录前言方法一方法二总结前言 在有些情况下需要用到MybatisPlus查询原生SQL&#xff0c;MybatisPlus其实带有运行原生SQL的方法。 方法一 这也是网上流传最广的方法&#xff0c;但是我个人认为这个方法并不优雅&#xff0c;且采用${}的方式代码审计可能会无法通过&#…...

    2023/1/31 20:30:53
  2. 在RT-Thread中给STM32F413添加UART9和UART10

    在RT-Thread 中给STM32F413 添加UART9和UART10 RT-Thread版本&#xff1a;v4.0.1 目标芯片型号&#xff1a;STM42F413VGT6 下载源码和工具 首先下载RT-Thread源码以及相关的环境 从这里进入RT-Thread下载页面 1.下载 RT-Thread 源代码下载 2.下载 RT-Thread env 工具下载 完…...

    2023/1/31 20:30:50
  3. 5G通信C-RAN机房建设要求

    一、背景 5G具有高速率、大容量、低时延等特性&#xff0c;具有超密集组网、大规模阵列天线、大带宽部署、高频组网及有源天线等技术特点&#xff0c;带来的直接影响是基站更加密集、功耗更大&#xff0c;对通信基础设施尤其是电源配套要求越来越高。因此&#xff0c;做好C-RA…...

    2023/1/31 20:30:11
  4. 【33】C语言 | 联合体详解

    目录 1、联合类型的定义 2、联合的特点 3、联合大小的计算 1、联合类型的定义 联合也是一种特殊的自定义类型这种类型定义的变量也包含一系列的成员&#xff0c;特征是这些成员公用同一块空间《所以联合也叫共用体)先看下面代码输出什么&#xff1f; union Un {char c;int …...

    2023/1/31 20:29:47
  5. kafka SSL认证

    认证参考官网&#xff0c;但是官网有一个坑&#xff0c;下面会讲到。 1.创建一个我文件夹mkdir cert用于存储一会儿生成的文件 2.在cert.sh脚本中写入如下内容 #!/bin/bash #Step 1 keytool -keystore server.keystore.jks -alias localhost -validity 365 -genkey #Step 2 …...

    2023/1/31 20:29:40
  6. 手把手教你设计CPU-RISC-V处理器读书笔记1:流水线

    1、流水线的工作原理 典型的流水线设计是将原本一个时钟周期完成的较大的组合逻辑通过合理的切割后分由多个时钟周期来完成&#xff0c;这样一来该部分逻辑运行的时钟频率就会有明显的提升&#xff0c;尤其是当为关键路径时&#xff0c;采用流水线设计后整个系统的性能会得到提…...

    2023/1/31 20:29:24
  7. jrebel linux tomcat,JRebel + Tomcat 配置

    此下使用jrebel方式为不使用eclipse plugins方式&#xff0c;是直接用jvm vm arguments参数形式进行配置。1. 下载 JRebel.jar、jrebel.lic(官网试用)2. Tomcat配置1)打开tomcat配置信息&#xff0c;设置Publishing —— Never publish antomatically2)打开Open launch configu…...

    2023/1/31 20:29:04
  8. 【Linux】操作系统(Operator System)

    目录 一、操作系统是什么 1、操作系统概念 2、操作系统的定位 3、设计OS的目的 4、操作系统的重要性 二、 理解操作系统 三、系统调用 系统调用和库函数的关系 一、操作系统是什么 1、操作系统概念 任何计算机系统都包含一个基本的程序集合&#xff0c;称为操作系统…...

    2023/1/31 20:28:41
  9. 计算机专业的英语短文,计算机专业英语短文翻译.doc

    文档介绍&#xff1a;Acomputerisanelectronicdevicethatcanreceiveasetofinstructions,orprogram,pilingandcorrelatingotherformsofinformation.puter, puter, Mainframe puter, etc. Microminiaturization,puterdevelopment.Besides,puters.计算机是一种能够接受一…...

    2023/1/31 20:28:30
  10. M1 在VMware里安装Centos8

    本文档主要介绍Mac M1芯片如何通过Vmware虚拟机&#xff0c;安装Centos系统。 安装准备 安装之前需要下载虚拟机安装包和Centos8镜像。 百度云自取链接: https://pan.baidu.com/s/19bPaU5Vf8HG6sv3C_jZDXw 提取码: 6jen 链接内容如下&#xff0c;centos8镜像&#xff0c;vm…...

    2023/1/31 20:28:16
  11. html的ajax工作原理,Ajax原理一篇就够了

    原标题&#xff1a;Ajax原理一篇就够了一、什么是AjaxAjax(Asynchronous Java and XML的缩写)是一种异步请求数据的web开发技术&#xff0c;对于改善用户的体验和页面性能很有帮助。简单地说&#xff0c;在不需要重新刷新页面的情况下&#xff0c;Ajax 通过异步请求加载后台数据…...

    2023/1/31 20:27:54
  12. 全球及中国吊顶行业研究及十四五规划分析报告

    中国是最大的市场&#xff0c;约占59%的市场份额&#xff0c;其次是欧洲和美国&#xff0c;约占33%的市场份额。 主要的生产厂商有Armstrong, Saint-Gobain, Hunter, OWA, ROCKWOOL International, SAS International, Siniat, Hufcor, YOUPON INTEGRATED CEILING, Ouraohua等。…...

    2023/1/31 20:27:49
  13. mediapipe.python._framework_bindings.packet.Packet

    姿态估计库出现问题 Traceback (most recent call last):File "D:/bishe/SelfPose/PoseMoudle.py", line 71, in <module>main()File "D:/bishe/SelfPose/PoseMoudle.py", line 57, in maindetector poseDetector()File "D:/bishe/SelfPose/P…...

    2023/1/31 20:27:47
  14. 从Pearson相关系数到模板匹配的NCC方法

    文章目录<center> NCC(Normalized Cross Correlation)1.**Pearson相关系数**2.**协方差 covariance**3. **方差 variance**4.模板匹配中的NCC方法5.实现过程6.测试结果7.部分核心源码NCC.cppNCC(Normalized Cross Correlation)从Pearson相关系数到模板匹配的NCC方法 1.P…...

    2023/1/31 20:27:45
  15. 深入理解spring三级缓存解决循环依赖的设计思路

    说到这个话题的时候&#xff0c;很多人再熟悉不过了&#xff0c;因为听到太多了&#xff0c;而且百度一大堆&#xff0c;但是理解到什么程度了呢&#xff0c;或者说只是知道这回事&#xff0c;但是为什么这样设计&#xff0c;代码中有什么可以借鉴的&#xff0c;在实际业务中有…...

    2023/1/31 20:27:35
  16. SpringBoot3初体验 - 第457篇

    历史文章&#xff08;文章累计450&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 5个月的精华&#xff1a;Spring/SpringB…...

    2023/1/31 20:27:20
  17. 【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式事务特别及问题分析(Seata-终)

    分布式事务中间件对⽐与选择 tx-lcnEasyTransactionByteTCCSeata Seata实现分布式事务 我们主要以Seata的分布式事务框架进行介绍分析&#xff0c;相关的并且针对于其三种模式进行分别说明介绍。 搭建Seata Server 前往https://github.com/seata/seata/releases 下载Seata安装…...

    2023/1/31 20:27:19
  18. C语言基础知识(49)

    枚举和宏有什么区别枚举和宏的区别&#xff1a;与宏相比&#xff0c;枚举增加了代码的可读性并且易于调试。枚举的所有元素组合在一起&#xff0c;宏是不可能的。示例&#xff1a;//constant created by macro,#define MON 0#define TUE 1#define WED 2#define THU 3#define FR…...

    2023/1/31 20:26:30
  19. 实现后台截图

    不要HOOK,可以在WIN7下后台截图吗展开1全部WIN7下不用HOOK可以实现后台截图:1、手机系统自带截屏图快捷键:长按菜单键或下拉通知栏进行截图。如果不行的话就试试:同时长按电源键+HOME键进行截屏。2、使用qq自带的截屏功能摇一摇手机即可截屏。3、百度搜索“截图”,在结果页…...

    2023/1/31 20:25:47
  20. java和vue的狱警管理系统监狱系统狱务管理系统

    简介 狱警管理系统监狱系统狱务管理系统&#xff0c;主要是管理罪犯教育改造、劳动改造、案件管理&#xff0c;罪犯信息管理等 演示视频 https://www.bilibili.com/video/BV1VG411P7YL/?zw&vd_sourcefa4ffd66538a5ca679a754398a6fdb5f 技术&#xff1a;springbootvueel…...

    2023/1/31 20:25:47