ZeroBraneStudio之支持GBK文件编码

费了好大劲终于搞定了让ZBS支持打开GBK文件了。记录下过程:

看源码发现ZBS打开文件时会调用src\editor\commands.lua中的LoadFile函数,代码如下:

1 local file_text = FileRead(filePath)
2   if file_text then
3     if GetConfigIOFilter("input") then
4       file_text = GetConfigIOFilter("input")(filePath,file_text)
5     end
6
7   elseif file_must_exist then
8     return nil
9   end

发现其中会读取配置文件GetConfigIOFilter,再在cfg\user-sample.lua中看看有没有和iofilter相关的配置项,找到如下代码:

-- to fix an issue with 0d0d0a line endings in MOAI examples,
-- which may negatively affect breakpoints during debugging
editor.iofilter = "0d0d0aFix"

  OK,找到之后再在所有文件中搜下“0d0d0aFix”,呵呵,终于在src\iofilters.lua中找到了:

ide.iofilters["0d0d0aFix"] = {
  -- this function converts 0d0d0a line ending to 0d0a
  input = function(fpath, content)
    return content:gsub("\013\013\010","\013\010")
  end,
}

找到位置就好办了,照着他的例子照葫芦画瓢,写个将GBK转换成UTF8的例子就行了。

local encode = require("encode")

ide.iofilters["GbkToUtf8"] = {
  -- this function converts 0d0d0a line ending to 0d0a
  input = function(fpath, content)
    return encode.GbkToUtf8(content)
  end,
  output = function (fpath, content)
    return encode.Utf8ToGbk(content)
  end
}

其中需要用到2个文件encode.lua、bitOp.lua,将这2个文件放到lualibs目录中。

再配置一下就行了,在Edit->Preferences->Settings:User中加入下面代码:

language = "en"
editor.iofilter=‘GbkToUtf8‘
时间: 2024-10-14 12:40:34

ZeroBraneStudio之支持GBK文件编码的相关文章

文件编码、charset、sublime编辑器支持GBK等问题

问题一:如何让sublime3支持GBK 首先打开package control ,然后键入install package进入,搜索ConvertToUTF8安装成功后 打开要查看的GBK文件,点击菜单File->ReloadWithEncoding->UTF-8这时可能会提示Error有几行提示是说:没有安装Codecs33再次打开install package输入Codecs33并安装.按照上述的方法reload文件时不会有错误了,如果想将文件修改为UTF-8编码,可以选择File->

让linux下的eclipse支持GBK编码

原文链接:http://leaze.blog.51cto.com/83088/195584 今天,把windows下的工程导入到了Linux下eclipse中,由于以前的工程代码,都是GBK编码的,而Ubuntu默认是不支持GBK编码的.所以,首先我们要先让Ubuntu支持GBK,方法如下: 修改/var/lib/locales/supported.d/local文件,在文件中添加 zh_CN.GBK GBK zh_CN.GB2312 GB2312 sudo dpkg-reconfigure -

解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换

一.Qt环境设置 文件从window上传到Ubuntu后会显示乱码,原因是因为ubuntu环境设置默认是utf-8,Windows默认都是GBK.Windows环境下,Qt Creator,菜单->工具->选项->文本编辑器->行为->文件编码:默认编码:System(简体中文windows系统默认指的是GBK编码,即下拉框选项里的GBK/windows-936-2000/CP936/MS936/windows-936) 二.编码知识科普Qt常见的两种编码是:UTF-8和GB

让ubuntu下的eclipse支持GBK编码

把Windows下工程导入Linux下Eclipse中,由于以前的工程代码,都是GBK编码,而Ubuntu默认不支持GBK编码,所以,我们要让Ubuntu支持GBK,方法如下: 1.修改/var/lib/locales/supported.d/local文件,在文件中添加 zh_CN.GBK GBK zh_CN.GB2312 GB2312 2.sudo dpkg-reconfigure --force locales 然后在输出的结果中会出现 zh_CN.GB2312 done zh_CN.GB

解决ubuntu 中的eclipse 不支持gbk 编码问题

今天在ubuntu 下, 把Windows下工程导入Linux下Eclipse中,由于工程代码,是GBK编码,而Ubuntu默认不支持GBK编码,所以,要让Ubuntu支持GBK. 方法如下: 1.修改/var/lib/locales/supported.d/local文件,在文件中添加 zh_CN.GBK GBK zh_CN.GB2312 GB2312 2.sudo dpkg-reconfigure --force locales 然后在输出的结果中会出现 zh_CN.GB2312 done

Sublime Text3:让其支持GBK编码

让Sublime Text3支持GBK编码,其基本原理就是安装Package Control,然后通过Package Control安装ConvertToUTF8的Package. 方法如下:按住Ctrl+~打开命令行,输入 import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener(

多线程批量转换文件编码, 从GBK, GB2312编码转换到UTF-8编码(Python)

# coding=utf-8 # author:Jeffrey Ma # version:0.1 # build 2 # created on:2015年3月31日 # description: 1. 批量转换文件编码,从GBK GB2312编码转换到UTF-8编码 # 2. 支持指定目录下所有的文件的转换,包括子目录中的文件 # 3. 支持检测原始编码,对已经是UTF-8编码的文件,不做转换 # 4. 支持只转换指定扩展名的编码 # 5. 支持多线程转换和控制台输出 # 6. 支持控制台显示线

Linux下查看文件编码,文件编码格式转换和文件名编码转换

linux相关   2008-10-07 10:46   阅读1392   评论0   字号: 大大  中中  小小  如果你需要在Linux中 操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而Linux一般都是 UTF-8.下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换. 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set file

Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() 获取文件编码,f.encoding() 获取文件在内存中的编号,f.fileno() 获取文件终端类型(tty.打印机等),f.isatty() 获取文件名,f.name() 判断文件句柄是否可移动(tty等不可移动),f.seekable() 判断文件是否可读,f.readable() 判断文件是