Jekyll: 解决Win10系统Code Page错误问题
Windows 版本: 10.0
Ruby 版本: 2.5.1
Gem 版本: 2.7.6
Jekyll 版本: 3.8.3
Bundle 版本: 1.16.2
Powershell 版本: 5.1
从Wiki的描述来看,Code Page相当于字符编码集合构成的页表。
那么,在Win10系统中安装Jekyll容易出现Code Page的错误,亦即不同的字符集编码不兼容。
错误表现:
运行: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 page: 65001,即Code Page为65001 (UTF-8),此时Jekyll可以正常运行; - 打开Powershell,右键上部标题栏,左键点击“属性” --> 点击“选项”, 在选项页面查看当前代码页;
若查看到的Code Page为:936 (GBK),则会与Jekyll出现字符集不兼容的问题。
修改当前系统的Code Page方法:
- 非长久方法:直接在Powershell中运行
chcp 65001
,但是退出Powershell之后,将恢复默认的Code Page,故而每次在运行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
相关推荐
86354492 2020-05-11
83364896 2020-02-18
aluomaidi 2020-02-03
何志文 2020-01-05
83364492 2019-10-28
DevilGoddy 2019-06-30
icbm 2019-06-30
83364896 2019-06-30
83364492 2019-06-27
aluomaidi 2019-06-27
倩 2019-06-26
lizhi 2014-04-28
yangxingstar 2019-06-26
gjc 2019-06-26
83364492 2019-06-25
83364492 2019-06-25
87317519 2019-06-25
88304694 2019-06-25