Windows 事件日志使用啥字符集/编码?
Posted
技术标签:
【中文标题】Windows 事件日志使用啥字符集/编码?【英文标题】:What character set / encoding does the windows event log use?Windows 事件日志使用什么字符集/编码? 【发布时间】:2013-09-06 10:36:51 【问题描述】:背景:
我正在研究一种解决方案,其中包括从多个国家/地区写入数据并从 Windows 事件日志中读取数据(例如,如果处理客户记录时出现异常,我可能会在描述文本中包含客户的姓名以使其更多人类可读;客户的姓名可能需要其语言中的特殊字符 - 我们永远不会将 Prince 作为客户)。 我正在编写和阅读,因为我们业务中的各种系统正在编写,同时我正在定义将读取和处理事件日志数据的监控系统。
我在 Google 上查看过,但找不到任何相关信息。 查看事件的 XML 视图,没有定义文件头/编码属性。 我假设它在更高版本中是 UTF-8,但找不到此文档/如果旧版本支持该编码,我会感到惊讶。
问题:
Windows 事件日志使用什么字符集? 所有版本的 Windows 都一样吗?【问题讨论】:
所有 Windows winapi 函数和内部数据结构都使用 utf-16 编码字符串,事件日志也是如此。只有使用旧的 ReportEventA() 函数才会遇到麻烦。 太棒了,谢谢汉斯。如果你把它放在答案中,我会给你打分。 JB 【参考方案1】:根据Hans Passant
的评论:
所有 Windows winapi 函数和内部数据结构都使用 utf-16 编码字符串,事件日志也是如此。你只能进入 使用旧的 ReportEventA() 函数会遇到麻烦。
【讨论】:
相关的文档链接会很有帮助。我找到了这个docs.microsoft.com/en-us/windows/desktop/Intl/unicode,但希望得到更明确的东西......以上是关于Windows 事件日志使用啥字符集/编码?的主要内容,如果未能解决你的问题,请参考以下文章