내 시스템 로케일은 ru_RU.KOI8-R이고 geany가 이 인코딩으로 모든 새 파일을 생성하도록 하고 싶습니다. 설정에서 "기본 인코딩(새 파일)"을 "키릴 문자(KOI8-R)"로 설정했는데 새 파일에 대해 잘 작동합니다. 하지만 키릴 문자가 없는 파일을 열면 geany는 해당 파일이 유니코드 형식이라고 생각합니다.
geany에게 KOI8-R의 모든 파일을 열도록 지시하는 방법이 있습니까(비ASCII 문자가 없더라도), 아니면 코드 페이지의 위쪽 절반에 있는 문자를 모든 소스 파일에 넣는 유일한 방법입니다 ?
답변1
나는 이 문제를 해결하려고 노력했지만 Geany가 강제로 인코딩을 사용할 수 있는 유일한 방법은 파일 시작 부분에 해당 줄을 두는 것인 것 같습니다. 파일에 UTF-8 문자가 포함되어 있으면 geany는 이 로케일을 사용합니다.
무엇보다도 다음을 시도했습니다. 컴퓨터에서 더 잘 작동하는 경우 직접 시도해 볼 수도 있습니다.
내 시스템의 로케일을 그리스어로 전환했습니다
ISO-8859-7
(이전에는en_US.UTF-8
). 먼저 다음을 사용하여 새 로컬을 설치해야했습니다.dpkg-reconfigure locales
UTF-8
다음 명령을 사용하여 원하는 로케일(내 경우에는) 에서 테스트 파일을 변환합니다.ISO-8859-7
iconv -f UTF-8 -t ISO-8859-7 c.txt --output=c2.txt
Geany 기본 설정을 변경하려면 새 파일에 대한 인코딩을 적용하고 기본 설정 - 파일 탭에서
Greek ISO-8859-7
"기본 인코딩(유니코드가 아닌 기존 파일)"을 적용하세요.
~/.config/geany/geany.conf
pref_editor_default_new_encoding=UTF-8 #changed to ISO-8859-7
추신: 파일을 보거나 편집하고 줄과 줄을 찾아서 설정을 직접 확인/변경할 수도 있습니다.pref_editor_default_open_encoding=None #changed to ISO-8859-7
- 그런 다음 실제로 작동하는 유일한 방법은 파일 시작 부분에 다음 줄을 삽입하는 것입니다.
# geany_encoding=ISO-8859-7 #
해결책은 다음에 설명되어 있습니다.Geany 온라인 매뉴얼 - Infile 코딩 표준 섹션.
모든 파일을 하나씩 열고 위 줄을 추가하지 않는 해결 방법으로 다음을 사용할 수 있습니다.
echo -e "# geany_encoding=ISO-8859-7 #\n$(cat c.txt)" >c.txt
다음과 같이 모든 파일을 신속하게 "geany-convert"하는 루프를 만들 수도 있습니다.
for file in "$(find . -type f -name "*.txt");do echo -e "# geany_encoding=ISO-8859-7 #\n$(cat $file)" >$file;done
위의 아이디어가 문제 해결에 도움이 되기를 바랍니다.
또한 파일을 열 때 인코딩을 강제하는 것이 Geany의 향후 계획의 일부인지 확인하고 Geany 개발자에게 문의할 수도 있습니다.
추신: 언제든지 Geany에서 파일을 열고 눌러서 reload as <your encoding>
저장할 수 있습니다. 그러면 파일이 새 인코딩으로 저장됩니다.