当前位置: 首页 > 面试题库 >

如何使ncurses在C中正确显示UTF-8字符?

蒋弘致
2023-03-14
问题内容

我有一个使用ncurses用C编写的程序。它让用户输入并显示它。如果用户输入utf8字符,它将无法正确显示。

我将输入的字符用户保存到文件中。而且我cat直接在Shell中将此文件正确显示。

我搜索了stackoverflow和google,并尝试了几种方法(例如与ncursesw链接)显示不正确。

ldd /usr/bin/screenlibncurses.so.5 => /usr/lib64/libncurses.so.5

screen 可以正确显示用户输入的内容。

如何使ncurses正确显示UTF-8字符?

使用ncurses在C中显示UTF-8字符的一般方法是什么?


问题答案:

setlocale(LC_CTYPE, "");在初始化ncurses之前,您需要先进行调用(已配置基于UTF-8的语言环境)。您还需要确保您的ncurses实际上是在广泛的char支持下构建的(“
ncursesw”),但是在现代发行版中,这是默认/唯一的构建。



 类似资料:
  • 我有一个任务: 当我使用命令时: 文本显示不正确。如何修复?谢谢

  • 问题内容: 我使用MySQL 5.1,并从一个270万行的UTF-8解码txt文件加载到一个表中,该表本身声明为,并且所有char字段都声明为,使用… 在数据库本身中,所有字符似乎都是正确的,一切看起来都不错。但是,当我使用php打印它们时,字符显示为???,尽管我在HTML头中使用utf-8声明: 在另一个表(使用utf-8)中,我从提交的表单中插入了文本,这些字符在数据库中奇怪地显示,但是当我

  • 问题内容: 我的数据库已正确设置为UTF-8,并且正在处理包含日语字符的数据库。如果我从mysql命令行执行SELECT * …,我会正确看到日语字符。当将数据从数据库中拉出并显示在网页上时,我可以正确地看到它。 但是,在phpMyAdmin中查看表数据时,我只会看到垃圾文本。即。 ç§ã日本料ç†ãŒå¥½ããããã㥥œœ¬æ–™ç†ã… 如何获取phpMyAdmin以日语显示字

  • 问题内容: 昨天我对一个问题的回答之一是建议我确保我的数据库可以正确处理UTF-8字符。我该如何使用MySQL? 问题答案: 更新: 简短答案-您几乎应该始终使用字符集和排序规则。 更改数据库: 看到: 亚伦对此答案的评论如何使MySQL正确处理UTF-8 utf8_general_ci和utf8_unicode_ci有什么区别 转换指南:https : //dev.mysql.com/doc/r

  • 问题内容: 我正在尝试将UIPopoverView添加到我的Swift iOS 8应用程序中,但由于弹出框未以正确的形状显示,因此无法访问PopoverContentSize属性。我的代码: 输出: 当我通过UIPopoverPresentationController做同样的事情时,我仍然没有完成它。这是我的代码: 我得到完全相同的输出。 如何自定义弹出窗口的大小?任何帮助将不胜感激! 问题答案

  • 问题内容: 我在AngularJS上建立的SPA中有一个文本输入框,供用户向打印输出中添加标题。输入框的声明如下: 文本框中填充了服务器提供的默认标题。用户可以将标题更改为适合他们的名称。更改标题后,服务器将更新并在响应的标题中发送回新标题,然后替换框中的标题。这非常适合标准ASCII类型的字符。 但是,对于unicode字符(例如àßéçøö),它不起作用。文本已正确发送,在服务器上正确更新并正