OpenXRay/xray-16

Switch to UTF-8

开放

#419 创建于 2019年6月20日

 (0 条评论) (2 个反应) (0 位负责人)C++ (519 个派生)auto 404
CoreDeveloper ExperienceHelp wantedPortability

仓库指标

星标
 (3,524 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

Rationale

Currently, engine uses system native locales and just doesn't support UTF-8. This results in several problems, like player save files having wrong characters when written on disk, inconvenient interoperability with third party libraries that use UTF-8 by default.

Proposed solution

To my knowledge, C++17/C++20 doesn't provide required UTF-8 functionality. There are two big libraries that can be used:

Their functionality should be equal, ICU is preferred, and we likely want to support both (i.e. iconv too), because e.g. iconv is native to some systems and doesn't require additional packages to be installed.

Useful links

FreeBSD documentation:

Methodology

https://utf8everywhere.org/

贡献者指南