【问题标题】:How to show arbitary characters in c?如何在c中显示任意字符?
【发布时间】:2010-10-17 02:19:57
【问题描述】:

警告 C4566:字符表示 通过通用字符名称 '\u2E81' 不能在当前表示 代码页 (936)

有时我们需要以多种语言显示文本,如俄语、日语等。

但是好像一个代码页只能显示一种单一语言的字符,我怎样才能同时显示多种语言的字符呢?

【问题讨论】:

  • 你用的是""还是L""?

标签: c internationalization codepages


【解决方案1】:

由于您(显然)在使用 VC++,因此您可能希望切换到 UTF-8 代码页。您还需要将字体设置为具有您关心的所有代码点字形的字体(许多代码点几乎没有超过前 256 个)。

【讨论】:

  • 什么字体具有所有代码点的字形?我需要一种支持所有字形的字体,因为我正在进行国际化。
  • 我不知道有一个 all 代码点。我有点怀疑这样的事情是否存在。你几乎被困在定义你真正关心的语言,并找到一种涵盖它们的字体。我怀疑您是否需要克林贡字母表,即使它们的编码已经定义。
  • @Alan:没有一种字体具有所有代码点的字形。实际上,这没有意义。这种字体会很大,因此会消耗宝贵的资源(例如内存)。有一种叫做“字体回退机制”的东西。如果代码点不是由您当前的字体分配的,则将使用备用字体显示它们(前提是已安装此备用字体并且映射存在于注册表中[CP936 是 MS Windows 撕裂])。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 2016-08-09
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多