文件編碼
寫了一段VBscript代碼锻梳,用Sublime Text寫的,默認(rèn)是UTF-8 without BOM編碼净捅,但是總是出錯(cuò):
- 字符串常量沒(méi)有關(guān)閉疑枯,我看了一下就是一個(gè)漢字的結(jié)束的位置,
*.vbs(22, 47) Microsoft VBScript compilation error: Unterminated string constant
后來(lái)不知道改動(dòng)了什么蛔六,有出現(xiàn)下面的錯(cuò)誤荆永,同一個(gè)位置
- 無(wú)效字符
*.vbs(22, 47) Microsoft VBScript compilation error: Invalid character
嘗試解決
知道是編碼的問(wèn)題,所以
使用自帶的Notepad打開(kāi)
另存為的是否選擇“編碼”有4個(gè)選項(xiàng)
Encoding options in Save As Window
不知道這里的“Unicode”和“Unicode big endian”和“utf-8”有什么區(qū)別国章,既然“utf-8”不行具钥,就使用Unicode吧,
發(fā)現(xiàn)又報(bào)了一個(gè)其他的錯(cuò)誤液兽,但是漢字的問(wèn)題不報(bào)錯(cuò)了骂删。
*.vbs(2, 5) Microsoft VBScript runtime error: Type mismatch: 'Hour'
是
hours = Hour(Time)
這一行的問(wèn)題,去掉了“Dim”定義就好了
Unicode不是UTF-8編碼四啰?
現(xiàn)在可以正常的運(yùn)行了宁玫,不過(guò)到底這個(gè)是什么編碼?
用Ubuntu on Windows查看了一下柑晒,發(fā)現(xiàn)了端倪
$ file ok.vbs
ok.vbs: Little-endian UTF-16 Unicode text, with CRLF, CR line terminators
$ file not.ok.vbs
not.ok.vbs: UTF-8 Unicode text, with CRLF line terminators
還真是
在Sublime Text中把文件編碼改成UTF-16 LE就好了??
Preivew of file