Jekyll: Win10 시스템 코드 페이지 오류 해결

1913 단어 jekyll
Windows 버전: 10.0Ruby 버전: 2.5.1Gem 버전: 2.7.6 Jekyll 버전: 3.8.3 Bundle 버전: 1.16.2 Powershell 버전: 5.1
Code Page: In computing, a code page is a table of values that describes the character set used for encoding a particular set of characters, usually combined with a number of control characters.
Wiki의 설명을 보면 Code Page는 문자 인코딩 컬렉션으로 구성된 시트와 같습니다.
그러면 Win10 시스템에 Jekyll을 설치하면 코드 페이지 오류가 발생하기 쉽습니다. 즉, 서로 다른 문자 세트 인코딩이 호환되지 않습니다.
오류 표시: 실행: bundle exec jekyll serve 오류 보고: Conversion error: JekyllConverters::Scss encountered an error while converting'assets/css/main.scss':Invalid GBK character "xE2"on line 54
현재 시스템의 Code Page를 보는 두 가지 방법은 다음과 같습니다.
  • 은 Powershell을 열고 chcp을 실행합니다. 명시적인 Active code 페이지: 65001, 즉 코드 페이지는 65001(UTF-8)입니다. 이때 Jekyll은 정상적으로 작동할 수 있습니다.
  • 은 Powershell을 열고 위쪽 제목 표시줄을 오른쪽 단추로 누르고'속성'-->'옵션'을 왼쪽 단추로 누르면 옵션 페이지에서 현재 코드 페이지를 볼 수 있습니다.

  • 코드페이지가 936(GBK)로 표시되면 Jekyll과 문자 세트가 호환되지 않는 문제가 발생합니다.
    현재 시스템의 Code Page 메서드를 수정하려면:
  • 비장구한 방법: Powershell에서 chcp 65001을 직접 실행하지만 Powershell을 종료하면 기본 코드 페이지가 복원되기 때문에 bundle exec jekyll serve 명령을 실행할 때마다 chcp 65001을 실행해야 한다.
  • 긴 방법: Powershell 구성 파일을 수정합니다.
  • 실행: Get-ExecutionPolicy 현재 Powershell 실행 정책 등급 획득;
  • 레벨이 Restricted 또는 AllSigned이면 Set-ExecutionPolicy RemoteSigned 수정 정책 실행 레벨이 RemoteSigned
  • Powershell 시작 로드 스크립트를 만듭니다.New-Item -Path $Profile -ItemType file -Force
  • 에서 만든 스크립트 파일을 열고 chcp 65001 명령을 쓴 다음 종료 파일을 저장합니다.
  • 에서 Powershell을 다시 시작하면 Powershell이 시작할 때마다 chcp 65001을 실행합니다.
  • 매번 Powershell 현식 "Active code page: 65001"을 시작하지 않으려면 명령을 chcp 65001 >$null으로 변경하여 출력을 버릴 수 있습니다.


  • 이상의 해결 방안은 주로 setup-jekyll-on-windows 참조

    좋은 웹페이지 즐겨찾기