我们在Team Foundation Server(TFS)中有一个项目,其中包含非英语字符(š).当我试图编写一些与构建相关的东西时,我们偶然发现了一个问题 - 我们无法将š字母传递给命令行工具.命令提示符或其他什么不是搞砸了,并且tf.exe实用程序找不到指定的项目.
我已经尝试了.bat文件的不同格式(ANSI,带有和不带BOM的 UTF-8 )以及用JavaScript编写脚本(这本身就是Unicode) - 但没有运气.如何执行程序并将其传递给Unicode命令行?
我有一个带有瑞典字符的文件(åäö),用UTF8编码.
如果我cat的文件显示正常,但如果我这样做git diff,则打印特殊字符,例如,<F6>.
示例git diff输出:
- name: 'Magler<F6>d, S<F6>der<E5>sen',
Run Code Online (Sandbox Code Playgroud)
我想看到的:
- name: 'Magleröd, Söderåsen',
Run Code Online (Sandbox Code Playgroud)
我发现了另一个与git和编码问题相关的问题:git,msysgit,accents,utf-8,权威答案 它说所有问题都应该在git 1.7.10中修复.我有1.8.1.2版
我该怎么做才能使git diff正确显示åäö?
我有一个带unicode符号的文件(俄文).当我修正一些拼写错误时,我git diff --color-words=.会看到我所做的改变.
在unicode(西里尔文)符号的情况下,我得到一些像尖括号一样混乱:
$ cat p1
??????
$ cat p2
??????
$ git diff --color-words=. --no-index p1 p2
diff --git 1/p1 2/p2
index d0f56e1..d84c480 100644
--- 1/p1
+++ 2/p2
@@ -1 +1 @@
<D0><BF><9F>?????
Run Code Online (Sandbox Code Playgroud)
看起来像git diff --color-words=.检查字节之间的差异而不是像我期望的那样检查符号之间的差异.
有没有办法告诉git使用unicode符号正常工作?
关于我的环境的UPD:我在Mac OS和Linux主机上也是如此.
我的shell变量是:
BASH=/bin/bash
HOSTTYPE=x86_64
LANG=ru_RU.UTF-8
OSTYPE=darwin10.0
PS1='\h:\W \u\$ '
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
TERM=xterm-256color
TERM_PROGRAM=iTerm.app
_=-l
Run Code Online (Sandbox Code Playgroud)
我已将git config重置为默认设置,如下所示:
$ git config -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
Run Code Online (Sandbox Code Playgroud)
git版本
$ git --version
git version 1.7.3.5
Run Code Online (Sandbox Code Playgroud) GIT中支持多种不同的编码方案:UTF-7,UTF-8,UTF-32,以及非UTF的。
鉴于此,它为什么不支持UTF-16?
有很多问题询问如何获取git以支持UTF-16,但我认为这尚未明确提出或得到回答。
我通过conemu使用gitbash.
我有一个字符集问题,其中字符在gitbash中通过conemu和gitbash直接显示错误.
我通过将.minttyrc中的语言环境设置为...来修复gitbash.
BoldAsFont=-1
Locale=en_US
Charset=UTF-8
Run Code Online (Sandbox Code Playgroud)
但是当通过conemu发布时,这并没有在gitbash中修复它.
我会改变conemu设置以解决区域设置或让它获取.minttyrc设置的任何想法?