2014-10-14 2 views
3

내가 그러므로 다음과 같은 내용을 내 .bashrc에 포함되어 있고 자식 저장소를 밑줄 (_)을 ✗ ✓ 같은 문자를 변환 :자식은

... 
PROMPT_DIRTY=" \[\033[1;31m\]✗\[\033[0m\]" 
PROMPT_CLEAN=" \[\033[1;32m\]✓\[\033[0m\]" 
... 

내가 아치 리눅스 배포 I에이 REPO를 복제하고있어 경우 정확하게 (위의) 결과를 얻으십시오. 내가 데비안에서의 repo를 복제하고있어하지만 나는 다음과 같은지고있어 다음 또는 FreeBSD의 10.0 (여러 버전을 시도) :

... 
PROMPT_DIRTY=" \[\033[1;31m\]_\[\033[0m\]" 
PROMPT_CLEAN=" \[\033[1;32m\]_\[\033[0m\]" 
... 

을 즉 특수 문자 ✓와 ✗는 밑줄 (_)로 변환됩니다.

누군가 이런 일이 일어나는 이유를 알고 있습니까? 밑줄 대신 원래의 특수 문자가 아닌 영숫자를 사용하고 싶습니다.

+5

16 진수 편집기에서 파일을 확인하십시오. 아마도 문자는 여전히 남아 있지만 두 번째 시스템에서 선택한 글꼴이 문자를 지원하지 않습니까? 아니면 ISO/UTF 문제 일 수도 있습니다. – IQAndreas

+0

@IQAndreas : 귀하의 의견을 보내 주셔서 감사합니다. 16 진수 편집기는 좋은 아이디어였습니다. 텍스트 파일의 16 진수 데이터는 실제로 동일합니다. 따라서 사용 된 문자 인코딩이 문제 여야합니다. – sebokopter

답변

2

tmux를 사용하여 .bashrc 파일을 보았습니다. tmux에서 제기 된 문제로 인해 UTF-8 지원이 비활성화되었습니다.

맨 페이지에 따르면 tmux는 "UTF-8"문자열에 대한 LC_ALL, LC_CTYPE 및 LANG 환경 변수를보고 UTF-8 지원을 추측하려고합니다. "-u"인수로 tmux UTF-8 지원을 강제 실행할 수 있습니다.

필자의 경우 tmux가 내 LANG 환경 변수가 UTF-8 로켈로 설정되었다고 잘못 생각한 것 같습니다. 그래서 tmux는 "UTF-8"문자열을 인식하지 못했습니다. 그러나 "-u"플래그로 tmux를 호출하고 UTF-8 지원을 강제 실행하면 모든 것이 예상대로 보입니다.

해결책을 가리키는 @IQAndreas.

+1

기꺼이 도와 드릴 수 있습니다. 당신은'-u' 플래그가 무엇을하는지 (적어도 문제의 원인이 무엇인지 명확히 해두는) 당신의 대답을 설명 할 수 있습니다. – IQAndreas