首页 > 系统相关 >[20240804]关于kitty设置与linux LANG环境设置问题.txt

[20240804]关于kitty设置与linux LANG环境设置问题.txt

时间:2024-08-05 20:51:19浏览次数:12  
标签:LANG utf -- kitty US 设置 root

[20240804]关于kitty设置与linux LANG环境设置问题.txt

--//更正我以前理解的一个混沌的地方:
--//我以前个人的工作习惯:LANG=en_US,kitty Remote character set 选择 Use font encoding.
--//目前这样的设置存在一些问题:

--//kitty设置LANG=en_US.UTF-8的情况下,kitty window->Translation ,Remote character set=utf-8,输入的汉字是UTF-8编码!!

--//张 utf-8的编码是  e5 bc a0
--//张 gb2312的编码是 d5 c5   --//213 = 0xd5 197 = 0xc5

--//简单的测试说明问题:

1.第一种情况,LANG=en_US,kitty Remote character set 选择 Use font encoding.
# echo $LANG
en_US

# mkdir test;cd test
# touch 张
# ls -1


# ls -1 | xxd -c 16
00000000: d5c5 0a                                  ...

# ls -1 ??| xxd -c 16
00000000: d5c5 0a                                  ...

--//中文gb2132编码.
# echo 111111 >> 张
--//给文件加入内容,方便下面的测试与观察.
--//补充:
# ls -l
total 4
-rw-r--r-- 1 root root 0 2024-08-03 23:15:05 寮?
-rw-r--r-- 1 root root 7 2024-08-03 23:20:58 张

2.第二种情况,LANG=en_US,kitty Remote character set 选择 utf-8:

# echo $LANG
en_US

# cd test
 # ls  -l ??
-rw-r--r-- 1 root root 7 2024-08-03 23:20:58 ??
--//实际上看到的是一个图形符号.

# touch 张
# ls -l
total 4
-rw-r--r-- 1 root root 0 2024-08-03 23:15:05 张
-rw-r--r-- 1 root root 7 2024-08-03 23:20:58 ??
--//这样建立了2个文件.

# ls -1|xxd -c 16
00000000: e5bc a00a d5c5 0a                        .......
--//可以发现第1个文件名编码是e5 bc a0,第2个文件名编码是 d5 c5.
--//回到第1个终端会话,看到如下:
# ls -l
total 4
-rw-r--r-- 1 root root 0 2024-08-03 23:15:05 寮?
-rw-r--r-- 1 root root 7 2024-08-03 23:20:58 张

--//这里看到的文件名与第2种情况互换了,可以通过文件大小判断.

3.第三种情况,LANG=en_US.utf-8,kitty Remote character set 选择 Use font encoding:
--//注意测试前先修改/etc/locale.conf文件.

# echo $LANG
en_US.UTF-8

# ls -l
total 4
-rw-r--r-- 1 root root 7 2024-08-03 23:20:58 ''$'\325\305'
-rw-r--r-- 1 root root 0 2024-08-03 23:15:05  寮?
--//两个文件的显示都存在异常.第1个是gb2312编码的文件,第2个uft-8编码文件.
# echo "ibase=8;325;305" |bc
213
197

# echo "obase=16;ibase=8;325;305" |bc |paste -sd ' '
D5 C5
--//只不过以8进制显示.前面不知道为什么显示''$'.

# ls -b -l
total 4
-rw-r--r-- 1 root root 7 2024-08-03 23:20:58 \325\305
-rw-r--r-- 1 root root 0 2024-08-03 23:15:05 寮?

4.第四种情况,LANG=en_US.utf-8,kitty Remote character set 选择 utf-8:

# echo $LANG
en_US.UTF-8

# cd test;ls -l
total 4
-rw-r--r-- 1 root root 7 2024-08-03 23:20:58 ''$'\325\305'
-rw-r--r-- 1 root root 0 2024-08-03 23:15:05  张
--//这种情况utf-8字符的显示正常.

# ls -l -b
total 4
-rw-r--r-- 1 root root 7 2024-08-03 23:20:58 \325\305
-rw-r--r-- 1 root root 0 2024-08-03 23:15:05 张

5.拷贝与粘贴情况:
--//最后看看从windows copy and paste 中英文的情况:
--//在windows记事本上写入 1张2 ,然后拷贝与粘贴测试
--//在终端上测试:
--//除了第3种情况出现  1耪2 其他正常.

--//再测试启动tmux的情况:
--//第一种情况,LANG=en_US,kitty Remote character set 选择 Use font encoding,       显示12
--//第二种情况,LANG=en_US,kitty Remote character set 选择 utf-8,                   显示1__2
--//第三种情况,LANG=en_US.utf-8,kitty Remote character set 选择 Use font encoding, 显示12
--//第四种情况,LANG=en_US.utf-8,kitty Remote character set 选择 utf-8,             显示1张2.

6.输入汉字的情况:
--//在终端上测试,输入张:
--//第一种情况,LANG=en_US,kitty Remote character set 选择 Use font encoding,       显示 张 gb2312编码
--//第二种情况,LANG=en_US,kitty Remote character set 选择 utf-8,                   显示 张 utf-8编码
--//第三种情况,LANG=en_US.utf-8,kitty Remote character set 选择 Use font encoding, 显示 耪
--//第四种情况,LANG=en_US.utf-8,kitty Remote character set 选择 utf-8,             显示 张 utf-8编码

--//补充测试:
# echo -e 耪 | xxd -c 16
00000000: c5d5 0a                  ...
--//编码与张的gb2312编码正好反了一下.

--//再测试启动tmux的情况:
--//第一种情况,LANG=en_US,kitty Remote character set 选择 Use font encoding,       显示 无法输入
--//第二种情况,LANG=en_US,kitty Remote character set 选择 utf-8,                   显示 __
--//第三种情况,LANG=en_US.utf-8,kitty Remote character set 选择 Use font encoding, 显示 无法输入
--//第四种情况,LANG=en_US.utf-8,kitty Remote character set 选择 utf-8,             显示 张  utf-8编码

5.总结:
--//从上面的测试可以看出:
--//第4种情况,LANG=en_US.utf-8,kitty Remote character set 选择 utf-8,可以比较好的支持汉字显示.
--//不过汉字编码不再是gb2312,而是utf-8,我个人始终不理解,在windows下输入编码是gb2312的汉字,在linux
--//的LANG=en_US.utf-8的情况下,如何转换为utf-8编码,也许存在某种规则或者算法,这种方法在设计编码时已经考虑的.

--//第1种情况,LANG=en_US,kitty Remote character set 选择 Use font encoding,可以很好的输入gb2312编码,但是在tmux下
--//要么无法输入,要么拷贝粘贴丢失..

--//之所以做这些测试,主要问题是我们团队缺乏统一管理,我不可能要求每个的设置都一样.
--//而且如果设置utf-8,在服务端操作数据库做一些dml涉及到中文时,会导致乱码问题.
--//我已经遇到类似的问题,比如在数据库新建立的包,函数,可以发现里面的一些注解看到的都是乱码.
--//而且现在我感觉大有统一到utf-8的情况,至少许多软件有这个的趋势.

--//我以前使用老版本的kitty在第一种情况终端,tmux都正常工作,现在仅仅终端可以.
--//而且以前建立的数据库选择如下:
--//characterSet ZHS16GBK -nationalCharacterSet AL16UTF16
--//如果在服务端做DML涉及中文的话,可能导致数据库一些字段出现乱码.

--//仔细查看man tmux文档,存在如下内容.

ENVIRONMENT
     When tmux is started, it inspects the following environment variables:

     EDITOR    If the command specified in this variable contains the string 'vi' and VISUAL is unset, use vi-style
               key bindings.  Overridden by the mode-keys and status-keys options.

     HOME      The user's login directory.  If unset, the passwd(5) database is consulted.

     LC_CTYPE  The character encoding locale(1).  It is used for two separate purposes.  For output to the terminal,
               UTF-8 is used if the -u option is given or if LC_CTYPE contains "UTF-8" or"UTF8".  Otherwise, only ASCII
               characters are written and non-ASCII characters are replaced with underscores ('_').  For input, tmux
               always runs with a UTF-8 locale. If en_US.UTF-8 is provided by the operating system it is used and
               LC_CTYPE is ignored for input.  Otherwise, LC_CTYPE tells tmux what the UTF-8 locale is called on the
               current system.If the locale specified by LC_CTYPE is not available or is not a UTF-8 locale, tmux exits
               with an error message.

--//这些细节应该在工作中引起注意.

标签:LANG,utf,--,kitty,US,设置,root
From: https://www.cnblogs.com/lfree/p/18344013

相关文章

  • python图表没有正确显示中文,这通常是因为matplotlib的默认设置不支持中文字符,或者相应
    如果图表没有正确显示中文,这通常是因为matplotlib的默认设置不支持中文字符,或者相应的字体没有正确加载。你可以通过指定支持中文的字体来解决这个问题。下面是如何设置matplotlib以确保能够在图表中显示中文的步骤:方法1:全局设置字体你可以修改matplotlib的全局配置,使......
  • JSON parse error: Cannot deserialize instance of `java.lang.Long` out of START_O
    这个问题的实际原因就是:    后端id(Long类型)用的雪花算法生成主键id    后端生成id位:1820397662671867904    前端查询id的结果为:1820397662671868000产生的原因:    后端生成为19位,前端接受并展示,使用的类型是number类型是16位   ......
  • 给vscode配置clangd插件
    一般情况下,我们在vscode里编辑C/C++代码时用的都是微软的c++package,但是这个插件包很多时候无法正确分析出语法,导致大量虚假错误报告,为了解决这个问题,我们首先禁用掉C++插件包,然后准备更换clangd。clangd是一个基于Clangd的分析服务器,方便我们分析代码语法。为了使用它,......
  • echarts 关系图(graph)里的links的起点和终点设置无效
    问题描述,data里面数据也设置了id({id:1})这样设置的,links里面设置了source和target({source:0,target:1}),但是运行发现只显示了node没显示连线(edge),去看了文档描述 1、source  stringnumber 边的源节点名称的字符串,也支持使用数字表示源节点的索引。2、target stringn......
  • 获取第三方GET接口的data数据,服务器需要设置正确的 Access-Control-Allow-Origin
    在现代Web开发中,由于同源策略的限制,浏览器通常不允许从一个域名(origin)直接访问另一个域名的资源,除非服务器端设置了适当的CORS(跨源资源共享)策略。项目中如何直接获取get接口https://api.cp.139.com/cgate/cme/v1/appUpgrade/version?channel=baidu02下的接口相应对象:{"code":......
  • FutureWarning:设置不兼容 dtype 的项目已被弃用,并将在 pandas 的未来错误中引发。价值
    正如类似问题中提到的,我尝试转换为对象拳头,然后将我的列转换为字符串。然而,即使在这一步中,我也会遇到相同的未来警告错误。列数据类型首先是“对象”。所以再次将其更改为object是不可行的。有趣的是,当我想将数据更改为sting时,我收到此警告,表明列类型为int64,我在df.inf......
  • 为什么 Langchain HuggingFaceEmbeddings 模型尺寸与 HuggingFace 上所述的不一样
    我使用的是langchainHuggingFaceEmbeddings模型:dunzhang/stella_en_1.5B_v5。当我查看https://huggingface.co/spaces/mteb/leaderboard时,我可以看到型号是8192。但当我这样做时len(embed_model.embed_query("heyyou"))它给了我1024。请问为什么会有这种差......
  • Jupyter设置IJava内核(VSCode)
    VScode使用Jupyter并设置IJava内核VScode使用JupyterVScode使用Jupyter需要安装相应插件安装后效果如下:IJavaIJava是一个JupyterKernel,允许你在JupyterNotebook中运行Java代码。详情可在IJava的Github地址中了解安装IJava内核需要Java9或更高版本。(如果当......
  • uniapp底部栏设置未读红点或角标
    uniapp底部栏设置未读红点或角标pages.json{...//省略"tabBar":{"color":"#333333","selectedColor":"#3296fa","backgroundColor":"#ffffff","bor......
  • echarts设置tooltip遇到值为0不展示的问题(已解决)
    echarts设置tooltip遇到值为0不展示的问题(已解决)遇到值为0时tooltip:{trigger:"axis",extraCssText:"z-index:3",axisPointer:{type:"shadow",//默认为直线,可选为:'line'|'shadow'......