我遇到一个问题,CKFinder后台获取到的文件名是问号。
肯定是编码问题。
第一步,修改jdk编码
(目标读取到正确的文件名称。验证方法输出文件名到日志文件,下载日志到本地确定不乱码)
解决方法tomcat bin目录下新增:
setenv.sh
export JAVA_OPTS="-server -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8"
默认情况下,得到系统编码(Ubuntu openjdk):
# java -jar sysProp.jar | grep encoding file.encoding.pkg: sun.io sun.jnu.encoding: ANSI_X3.4-1968 file.encoding: ANSI_X3.4-1968 sun.io.unicode.encoding: UnicodeLittle
加上虚拟机参数后:
# java -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 -jar sysProp.jar | grep encoding file.encoding.pkg: sun.io sun.jnu.encoding: UTF-8 file.encoding: UTF-8 sun.io.unicode.encoding: UnicodeLittle
编码解释:
- sun.jnu.encoding 影响文件名
- file.encoding 影响文件内容
附录sysProp.jar 的代码:
package pp.Main; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.Properties; public class Main { public static void main(String[] args) throws IOException { Properties p = System.getProperties(); Iterator<Object> keys = p.keySet().iterator(); while(keys.hasNext()){ String key=keys.next().toString(); System.out.println(key+": "+System.getProperty(key)); } String name="newfile_新文件"; System.out.println(name); File f=new File(name); if(f.exists()){ f.delete(); } f.createNewFile(); } }
设置好后,CKFinder得到的文件名在日志里显示正常,设置之前是问号。但是文件名称还是问号。
第二步,修改操作系统的编码。
(目标sysProp.jar新建的文件名能够正确显示 )
设置字符编码 vi /etc/environment 添加下面两行
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh:en_US:en"
相关推荐
jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8u361-linux-i586.tar.gz jdk-8u361-linux-x64.rpm jdk-8u361-linux-x64.tar.gz jdk-8u361-windows-i586.exe jdk-8u361-windows-x64.exe 如果需要mac版本...
jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_...
下载解压即可 jdk-8u261-linux-x64.tarjdk-8u261-linux-x64.tarjdk-8u261-linux-x64.tar" 表明这是Java开发工具包的一个更新版本,特别是JDK 8 Update 261(8u261),并且提供的是一个可下载和解压缩的文件,用于在...
(1)jdk-8u301-linux-aarch64.rpm (2)jdk-8u301-linux-aarch64.tar.gz (3)jdk-8u301-linux-arm32-vfp-hflt.tar.gz (4)jdk-8u301-linux-i586.rpm (5)jdk-8u301-linux-i586.tar.gz (6)jdk-8u301-linux-x64....
首先,`jdk-8u171-linux-x64.rpm`是一个RPM(Red Hat Package Manager)格式的文件,主要用于基于RPM包管理系统的Linux发行版,如Fedora、CentOS或Red Hat Enterprise Linux。RPM包提供了方便的安装、升级和卸载功能...
这个压缩包文件"jdk-6u45-linux-x64.zip"包含的是JDK 1.6.0_45(也被称为6u45或1.6u45)的64位Linux版本。JDK 1.6是Java平台标准版的一个重要版本,它提供了许多功能和性能改进,是许多企业级应用的基础。 JDK 1.6u...
Centos7离线安装文件 jdk-8u231-linux-x64.tar.gz压缩包 免费下载,现在博客都是付费文件,搞得头大,现在免费分享
压缩包子文件的文件名称列表中仅有一个条目:“jdk-8u162-linux-x64.tar.gz”。这里的".gz"是gzip的缩写,是一种常见的数据压缩格式,用于减少文件大小,方便在网络上传输。这个文件是".tar"文件经过gzip压缩后的...
2. **解压**:使用`unzip`命令解压下载的zip文件,得到`jdk-8u202-linux-x64.tar.gz`。然后使用`tar -zxvf jdk-8u202-linux-x64.tar.gz`将其解压到目标目录。 3. **配置环境变量**:为了能在系统中全局使用JDK,...
描述中提到的"解压后有个jdk-8u181-linux-x64.tar.gz 后直接在Linux中使用 jdk-8u181-linux-x64.tar",这意味着用户需要首先使用Linux的解压缩工具(如tar命令)来解压这个文件。解压后,会得到一个名为“jdk-8u181-...
2. 解压后,你会得到一个名为`jdk-8u192-linux-x64.tar.gz`的文件,使用`tar -zxvf jdk-8u192-linux-x64.tar.gz`命令将其解压到指定目录。 3. 接着,需要将JDK的安装路径添加到系统的`PATH`和`JAVA_HOME`环境变量中...
标题“jdk-8-linux-x64.rar”指出这是一个针对64位Linux系统的Java Development Kit (JDK) 的压缩包,版本为1.8。RPM(Red Hat Package Manager)是这个软件包的格式,通常用于Fedora、CentOS、RHEL等基于Linux的...
标题中的"jdk-8u202-linux-arm64-vfp-hflt-demos.tar.gz"表明这是一个针对Linux ARM架构(具体为vfp-hflt变体)的Java Development Kit(JDK)版本8更新202的示例(demos)压缩包。这个压缩文件采用tar.gz格式,是...
最新版linux jdk-8u371-linux-x64.tar.zip最新版linux jdk-8u371-linux-x64.tar.zip最新版linux jdk-8u371-linux-x64.tar.zip
1. **下载**:首先,你需要从Oracle官方网站或可信的第三方源下载`java-jdk1.8-jdk-8u151-linux-x64.zip`压缩文件。确保文件的完整性和安全性,可以通过检查MD5或SHA校验和来验证。 2. **解压**:使用`unzip`命令将...
2. **解压**:使用`tar -zxvf jdk8-jdk-8u121-linux-x64.tar.gz`命令解压文件,这将创建一个名为`jdk1.8.0_121`的目录。 3. **配置环境变量**:编辑`~/.bashrc`或`~/.bash_profile`文件,添加以下内容: ```bash ...
用户需要先解压(使用`tar -zxvf jdk-8u341-linux-x64.tar.gz`),然后手动配置环境变量如`JAVA_HOME`,将JDK添加到`PATH`,以便系统能够找到Java可执行文件。 3. **JDK 8u341 版本详解**: - **版本号**:`8u341`...
Linux环境下的Tomcat所依赖的jdk8的环境rpm版 Linux环境下的Tomcat所依赖的jdk8的环境rpm版 Linux环境下的Tomcat所依赖的jdk8的环境rpm版 Linux环境下的Tomcat所依赖的jdk8的环境rpm版 Linux环境下的Tomcat所依赖的...
https://www.oracle.com/java/technologies/downloads/#java8-linux jdk-8u421-linux-x64.rpm