【发布时间】:2017-07-06 14:13:18
【问题描述】:
我有一个 SpringBoot Angular 应用程序部署在 CentOs 服务器中的 Tomcat 中。
CentO 语言环境:
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
在 Tomcat 的 catalina.sh 脚本中,我有以下配置:
CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding='UTF-8'"
在 Angular 应用的 index.html 中:
<meta charset="utf-8">
在父项目的pom.xml中:
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
所有文件都以 UTF-8 编码
虽然有些字符显示不好:
é -> é
à -> è
° -> °
...
但是,数据库中的字符显示良好(数据库以ANSI编码)
有人知道我的错误在哪里吗?
【问题讨论】:
-
Java Web 应用程序是否以 UTF-8 构建?
-
是的,我在 pom.xml 中有以下行:
UTF-8 -
您的源代码文件是否以 UTF-8 格式保存?
-
是的,所有文件都以UTF-8保存
-
Java 业务逻辑可能会导致编码不匹配。可以把源代码发到 GitHub 并分享链接吗?
标签: angular tomcat encoding utf-8 centos