3

我使用 log4net 将混合的希伯来语和英语字符写入文件,但我看到的不是希伯来语,而是问号。

我尝试将应用程序和线程的文化信息设置为“he-IL”,但似乎没有帮助。

log4net 是否支持希伯来字符?如果是这样,我怎样才能使它工作?谢谢

编辑:这是我的配置部分:

<appender name="ErrorsFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
  <param name="File" value="c:\\taskman\\service.log"/>
  <param name="AppendToFile" value="true" />
  <rollingStyle value="Date"/>
  <datePattern value="'service.'yyyy-MM-dd'.log'"/>
  <layout type="log4net.Layout.PatternLayout,log4net">
    <param name="ConversionPattern" value="%d;%m%n"/>
  </layout>
</appender>  

希伯来文文本来自数据库,它是一个 SQL server 2005。

4

3 回答 3

1

将以下行添加到您的app.config文件中的appender部分:

<encoding value="windows-1255" />
于 2013-11-08T06:59:38.797 回答
1

在我尝试添加windows-1255到编码值之后,我仍然遇到希伯来语文本的问题。

我最终添加了: <encoding value="utf-8" />

它只在UTF-8模式下工作

于 2018-01-29T07:52:15.653 回答
1

在这里遇到了同样的问题。我已经使用以下设置配置了 log4net:

<log4net>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="giscraweler.txt" />
      <encoding value="windows-1255" />
      <param name="AppendToFile" value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level - %message%newline" />
      </layout>
    </appender>
</log4net>

我在 Visual Studio 调试窗口中看到字体很好,但是当我用 Notepad++ 打开日志文件时 - 文本不正确,我看到了奇怪的字符。

怎么修 ?按照建议的第一条评论设置您的“字符集”。
我选择了字符集 windows-1255,现在我看到了希伯来字体。

于 2017-09-06T19:54:20.837 回答