procedure TForm1.Button1Click(Sender: TObject); var FileN:string; begin if self.OpenDialog1.Execute then begin filen:=UTF8ToAnsi(self.OpenDialog1.FileName); self.Memo1.Lines.SaveToFile(FileN); end; end;
Lazarus 0.9.26中,涉及范围最广的的改变就是所有的的String默认都采用UTF8编码,IDE终于有了完全的UTF8支持,以前在源码编辑器中“吃掉”半个汉字的情况不再出现.对于Linux下的用户来说这也是好消息,大家终于可以在源码编辑器中看到中文了.当然了,好东西总是代价比较昂贵的:旧代码和项目的迁移就变成了一个不小的问题.现在如果迁移旧项目到0.9.26会遇到以下的问题: 1.项目所有文件里面的中文字串都必须重新输入. 0.9.26提供了转换项目编码的工具:Convert e
很多人都在Windows中使用线程技术,然后同样的代码移植到Linux下一运行就出错.一开始不解其中的奥妙.既然Lazarus提供了TThread类,也没注明非要在Windows下使用.没道理在Linux下不能用阿.一时不得其解.后来本人在解决Linux下使用Indy10的问题时,发现原委.原来只要在工程选项的编译参数中加一参数即可.具体如下:(中文)工程选项->编译选项->其余的->自定义:添加:-dUseCThreads(English)Project->roject O
firebird3数据表中,如果字段是varchar时, delphiXE的firedac在读取时正常,但lazarus中读取时会显示乱码. 经过测试发现,如果lazarus显示正常的话,必须在建表时,在字段后添加 CHARACTER SET GB2312. 另外,self.SQLConnector1.CharSet:= 'gb2312'; 或 self.SQLConnector1.CharSet:= 'UTF8'就显示正常了. 备注:如果建表时在字段后指定 CHARACTER SET UTF8