AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[character-encoding](unix)

Martin Hope
Neppomuk
Asked: 2024-06-21 03:38:52 +0800 CST

使用 serial-getty 时如何将字符设置为 Latn-1 或 MCS?

  • 6

我想使用旧的 VT420 终端作为系统控制台。添加 RS232 端口和设置serial-getty不是问题,但是:多年来,几乎所有 Linux 发行版都使用 UTF-8 作为标准字符集,而 VT 仅支持 Latin-1 (ISO 8859-1) 和旧的 DEC 多国字符集。

那么:我该怎么做才能serial-getty使用终端支持的字符集之一?有没有易于实施的解决方案?我目前的发行版是:

  • OpenSuSE Leap 15.6
  • OpenWRT,当前版本

请注意,VT420 确实允许定义自定义(位图)字符,但这很辛苦。

character-encoding
  • 1 个回答
  • 44 Views
Martin Hope
malat
Asked: 2024-03-01 16:18:11 +0800 CST

如何将全角字符转换为半角字符(反之亦然)?

  • 8

这是我的简单问题,如何从命令行将半角转换为全角。我认为这将内置在我的iconv命令行中,但我在这里没有找到任何内容:

$ iconv  -l | grep -i full
-> nothing
$ iconv  -l | grep -i half
-> nothing

典型的输入是:

$ echo -n "Ab9876543210" | iconv -f utf8 -t utf16be | hexdump -C
00000000  ff 21 00 62 ff 19 ff 18  ff 17 ff 16 ff 15 ff 14  |.!.b............|
00000010  ff 13 ff 12 ff 11 ff 10                           |........|
00000018
character-encoding
  • 1 个回答
  • 217 Views
Martin Hope
Philippos
Asked: 2022-04-03 00:00:27 +0800 CST

修复字符编码混乱

  • 0

我正在构建一个脚本以从字符编码损坏的网站中提取一些数据:

  • html 标头声称它是 iso-8859-1,但它不是
  • wget文件显示它实际上是 utf-8,但字符错误
  • 逆向工程向我展示了有人设法将 windows 代码页 1252 用作 unicode 代码!

例如,反引号在代码页 1252 中是 0x91,在此页面中是 U+0091。诡异的。令人惊讶的是,网络浏览器似乎能够自动修复这个问题。

我的问题:哪个工具可以帮助我清理这个烂摊子?(不是手工!这是一个有数百页的动态网站,我看到至少六种不同的错误编码。)

text-processing character-encoding
  • 1 个回答
  • 403 Views
Martin Hope
Dmitry Grigoryev
Asked: 2022-02-01 12:22:14 +0800 CST

如何查找给定字符编码的语言环境名称?

  • 2

的手册页setlocale似乎说语言代码和字符编码名称足以设置适当的语言环境:

语言环境名称通常采用语言[_territory][.codeset][@modifier] 形式,其中语言是 ISO 639 语言代码,地区是 ISO 3166 国家代码,代码集是字符集或编码标识符,如 ISO- 8859-1 或 UTF-8。

但是,一个快速测试表明,只有语言环境名称的“修饰符”部分是可选的:

void tryLocale(const char * locid)
{
    char * result = std::setlocale(LC_CTYPE, locid);
    std::cout << locid << " = " << (result ? result : "fail") << std::endl;
}

int main()
{
    tryLocale("de");           // de = fail
    tryLocale("de_DE");        // de_DE = fail
    tryLocale("de_DE.CP1252"); // de_DE.CP1252 = de_DE.CP1252
    tryLocale("de.CP1252");    // de.CP1252 = fail
    tryLocale(".CP1252");      // .CP1252 = fail
}

我的问题是我只知道所需的编码名称(例如ISO-8859-1),我可能会想出语言代码(例如en)。我不知道如何找到一个合适的国家名称(例如US),而且我对一个国家也不感兴趣:我只希望tolower我的应用程序中的功能使用正确的代码页。

character-encoding locale
  • 1 个回答
  • 185 Views
Martin Hope
George
Asked: 2022-01-11 23:52:12 +0800 CST

如何修复在子目录中看起来不太好的 UTF-8 字符编码文件名

  • 2

我有像Käyttöohje.pdf. 这应该是Käyttöohje.pdf。

我可以使用以下命令转换子目录中的所有文件:

convmv -f utf8 -t iso-8859-1 -r --notest *

这转换Käyttöohje.pdf为Käyttöohje.pdf.

问题是文件是否已经存在Käyttöohje.pdf

文件Käyttöohje.pdf转换为K'$'\344''ytt'$'\366''ohje.pdf

如何更改上述命令,以便

  • Käyttöohje.pdf被转换为Käyttöohje.pdf(单独留下)和
  • Käyttöohje.pdf仍然转换为Käyttöohje.pdf
character-encoding
  • 1 个回答
  • 972 Views
Martin Hope
SebMa
Asked: 2021-11-04 05:40:57 +0800 CST

ASCII 到 ANSI 的转换不起作用

  • 3

尝试在 Linux 上将 ASCII 文件转换为 ANSI:

$ file -bi relocate.xml 
text/xml; charset=us-ascii
$ iconv -f us-ascii -t ms-ansi < relocate.xml | file -bi -
text/xml; charset=us-ascii
$ cat relocate.xml | recode us-ascii..ms-ansi | file -bi -
Request: ANSI_X3.4-1968..:libiconv:..CP1252
Shrunk to: ANSI_X3.4-1968..CP1252
text/xml; charset=us-ascii

我还尝试了其他工具来推断编码,它们都返回相同的结果:

$ enca -L none relocate.xml ; echo "###" ; uchardet relocate.xml ; echo "###" ; encguess relocate.xml 
7bit ASCII characters
  CRLF line terminators
###
ASCII
###
relocate.xml    US-ASCII

如您所见,工具iconv和recode工具都没有错误消息,但最终编码仍然是us-ascii.

如何将其转换为 ANSI?

character-encoding conversion
  • 1 个回答
  • 374 Views
Martin Hope
artaxerxe
Asked: 2021-10-29 05:34:57 +0800 CST

为什么特殊字符在命令行中转义

  • 1

我有一个 AlmaLinux 服务器,我在其中遇到了一些编码问题。例如,如果我在 CLI 中键入:

mkdir asdfü
ls ./

我明白了 'asdf'$'\303\274'

我怎样才能解决这个问题?

centos character-encoding
  • 1 个回答
  • 74 Views
Martin Hope
jcubic
Asked: 2019-11-15 04:40:17 +0800 CST

ASCII 字符 26 应该做什么?

  • 0

我有显示 ANSI 艺术的代码,我发现最后 128 个字节包含SAUCE元数据。

我遇到的问题是在 SAUCE 数据之前有一个字符看起来不合适,

在此处输入图像描述

即 ANSI 代码 26,ASCII 表将其显示为(替代)。

这个角色应该怎么做?它是否应该导致它被忽略之后的任何事情?

这是我的 JavaScript 终端的演示,它显示了 ANSI 艺术(工作命令是ls和cat)。

列出的一些 ANSI 文件末尾有这个字符(并非所有文件都有 SAUCE 数据)。

character-encoding
  • 1 个回答
  • 1288 Views
Martin Hope
HippoMan
Asked: 2019-03-18 07:26:08 +0800 CST

在所有终端中禁用 utf-8?

  • 2

这个问题与我的Ubuntu 18系统有关,如下...

% uname -a
Linux myhost.name.net 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

我不知道在我的常规系统升级过程中发生了多长时间,但我现在注意到我所有的终端窗口都在写UTF-8字符。我希望所有终端窗口都使用us.ascii(或可能iso-8859-1)。我找不到设置这个的任何地方。

此外,所有键盘输入似乎都是UTF-8,我也希望它是us.asciior iso-8859-1。

默认情况下,该LANG变量en_US.UTF-8在我的终端窗口中运行的所有 shell 中都设置为,但我没有故意在任何配置文件中设置它。

这发生在xterm、rxvt和下,据我所知,urxvt这些程序都没有配置为使用。UTF-8

我正在跑步XFCE4,如果这有什么不同的话。我在设置中也找不到任何设置XFCE4。

谁能建议一种方法来重置我的系统,以便所有终端窗口始终显示us.asciior iso-8859-1,并且所有键盘输入也是us.asciior iso-8859-1?

非常感谢。

terminal character-encoding
  • 1 个回答
  • 1190 Views
Martin Hope
Paulo Ney
Asked: 2019-01-21 11:30:58 +0800 CST

文件中的奇怪字符

  • 6

我有一个 UTF-8 文件,其中包含一个奇怪的字符——对我来说就像

<96>

这就是它的显示方式vi

vi 截图

以及它是如何出现的gedit

gedit 截图

以及它在 LibreOffice 下的显示方式

LibreOffice 截图

这使得一系列基本的 Unix 工具行为不端,包括:

  1. cat file使角色消失,more以及
  2. 我无法在 vi/vim 中复制和粘贴——它甚至找不到自己
  3. grep也无法显示任何内容,就好像该角色不存在一样。

该程序file运行良好,并将其识别为 UTF-8 文件。我也知道,由于文件的性质,它很可能来自网络上的复制和粘贴,并且该字符最初代表 EMDASH。

我的基本问题是:

  1. 这个文件有什么问题吗?
  2. 如何在同一文件中搜索它的其他出现?
  3. 如何查找可能包含相同问题/字符的其他文件?

该文件可以在这里找到:file.txt

character-encoding unicode
  • 3 个回答
  • 9288 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve