- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Logback 1.1.3 LayoutWrappingEncoder
documentation不指示如果用户未设置默认字符集将是什么,但源代码显示:
By default this property has the value null which corresponds to the system's default charset.
但是我使用的是 PatternLayoutEncoder
(带有 RollingFileAppender
),它似乎以 UTF-8(以及我的 Windows 7 的默认字符集)输出文件专业系统可能不是UTF-8)。
UTF-8 输出实际上是我想要的,但我想确保我不是偶然得到这个,因为文档似乎表明了其他内容。那么,当我没有明确指定字符集时,为什么 Logback 会给出 UTF-8 输出呢?
最佳答案
Logback字符编码
您可以使用<charset>
在你的 PatternLayoutEncoder
的定义中因为这是 LayoutWrappingEncoder
的子类,它提供 setCharset
方法。文档中通过类的摘录表明了这一点,但没有给出示例 xml 配置。对于 LayoutWrappingEncoder,这里给出了答案:[Logback-user]: How to use UTF-8 .
因此,如果您通过代码配置,您可以调用 setCharset
使用 UTF-8 的方法。或者,如果您通过 xml 配置,则为:
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<charset>UTF-8</charset>
<outputPatternAsHeader>true</outputPatternAsHeader>
<pattern>[%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
默认文件编码
Logback 的文档正确地指出使用默认字符编码。 Windows 上的默认字符集通常不是 UTF-8(例如,我的是 windows-1252
)。正确的做法是将 logback 配置为 UTF-8,如上所述。即使 logback 从某处获取 UTF-8,或 file.encoding
是由您以某种方式设置的,无法保证将来会发生这种情况。
顺便说一句,Sun 之前曾提到过 file.encoding,如果您在 Oracle VM 上进行设置:
The "file.encoding" property is not required by the J2SE platform specification; it's an internal detail of Sun's implementations and should not be examined or modified by user code. It's also intended to be read-only; it's technically impossible to support the setting of this property to arbitrary values on the command line or at any other time during program execution.
Eclipse 和 Maven
如果您从 Eclipse 运行 Maven,并且您已经在环境/项目或运行配置(对我来说在公共(public)选项卡中)中将环境设置为 UTF-8,那么 Eclipse 将安排新的 JVM通过设置file.encoding
来获得UTF-8编码。请参阅:Eclipse's encoding documentation
关于java - LayoutWrappingEncoder 的 LogBack 默认字符集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57058165/
我正在使用使用jetty的Spring-Web应用程序: org.springframework.boot spring-boot-starter-web
我想匹配空格字符( )仅当它们后跟一个哈希( # )。 这是什么( #)下面是尝试做的,这是一个捕获组。 (我尝试转义括号,否则无法在组集中正确识别括号)。但是,这是行不通的。 下面的正则表达式 /#
我正在实现一个词法扫描器。我如何实现字符集?大多数字符集都采用范围形式,即 A-Z、h-L 等。我必须检查字符 ch 是否是字符集的成员。除了数组和位集之外,我可以在 Java 中使用哪种高效的数据结
我今天注意到我们的数据库使用字符集“utf8 -- UTF-8 Unicode”和排序规则“utf8_general_ci”,但里面的大多数表和列都使用 CHARSET=latin1。我会遇到任何问题
我有一个包含多种语言的 Mysql 表,一种语言一个字段。 我的字符集是utf_general_ci 当我用 phpMyAdmin 查看表格时,我有一个保加利亚语页面,如下所示: За наÑ
根据 MSDN vb.net uses this extended character set .根据我的经验,它实际上使用了这个: 我错过了什么?为什么它说它使用一个而使用另一个? 难道我做错了什么
我在 Symfony2 中有一个项目,它在我的本地主机上运行良好,但是在将其移动到外部服务器后问题已经开始。 我没有从包含波兰语字符的数据库中看到任何结果名称 在 Profiler 中,我检查了查询:
我更新了我的网络应用程序以使用 UTF-8 而不是 ANSI。 我做了以下措施来定义字符集: mysql_set_charset("utf8"); // PHP // HTML utf8_gener
typedef unsigned char Set; Set s1,s2; s1 = 0xda; PRINT(s1); printf("%d\n", s1); s2 = -s1; pri
我有一个 PHP/MySQL 应用程序,它需要在幕后处理 UTF-8 字符(UTF-8 字符不会显示在屏幕上)。 UTF-8 字符来自 PHP cURL 请求。 我需要做什么才能使 PHP 和 MyS
我正在使用 utf8_general_ci 作为字符集在 MySQL 中构建一个用户表。 1-) 使用这个字符集,两个用户一个叫 Bob 另一个叫 bob 看起来是同一个,对吧?我不知道这可能会导致一
我知道之前已经回答过这个问题,但我发现的解决方案不适用于我的系统(我已经测试过了)。 我想更改 Mysql 中的默认排序规则。这似乎设置为 latin1_swedish_ci,我想将其更改为 UTF8
我正在开发一个母语学习应用程序。我需要将一些字符存储为“ẽũ”。我的数据库设置为具有默认排序规则的 utf-8 字符集,以及受此字符影响的表。 问题是当我尝试使用常规 SQL 插入添加一行时: INS
有什么方法可以定义字符集,以及属于 的其他信息吗? jsFiddle 上的标签? 我知道他们侧面板的“信息”部分,但不允许 标签。 提前致谢! 最佳答案 是的,把它放在CSS部分: 使用 jQ
我正在创建一个对象运行时: var myObj = {}; myObj[propertyName] = propertyValue; propertyName 是变量,如果它像“a.b”,我的对象就有
假设我有一个值为 42 (*) 的字符。我需要在 n 行中打印这个字符,n 由用户定义。但是,对于每个换行,都必须打印另一个 *。如果用户输入“6”,那么结果将是这样的: * ** *** ****
该标准定义了 基本源字符集 基本执行字符集及其对应的宽字符 它还定义了“执行字符集”及其对应的宽字符,如下所示 $2.2/3- "The execution character set and the
我想 ping 目标 IP 地址并接收响应。为此,我在 Java 中使用带有 runtime.exec 方法和进程类的 Windows 命令行。我正在使用 inputStreamReader 获取响应
是否有任何方法可以更改 MySQL Workbench 字符集?我的架构使用 UTF-8,当我查看表数据(另存为 UTF-8)或手动添加数据时,出现字符集错误,可能 MySQL Workbench 使
我有一个文本选择/规范对话框,用户可以从列表中指定字体,设置粗体、斜体等。然后我使用 LOGFONT 中的信息创建一个 CFont 随后在 CEdit 中用作预览。 但是,如果用户选择像 Wingdi
我是一名优秀的程序员,十分优秀!