Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 6549|回复: 8

lazarus 中文乱码的问题

[复制链接]

该用户从未签到

发表于 2011-3-22 14:01:55 | 显示全部楼层 |阅读模式
使用lazarus以来,一直最头疼的问题就是中文的问题,每次都需要将工程下面的文件转换为utf8格式。
不知有没有更方便的方法?比如,生成项目的时候所有文件均以utf8格式保存而不用每次手工转换?
请指教
回复

使用道具 举报

该用户从未签到

发表于 2011-3-22 15:21:13 | 显示全部楼层
你用的是啥版本 ? 现在的都好象默认是UTF8了
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-3-22 17:22:12 | 显示全部楼层
0.9.28.3 版本
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-3-24 01:07:47 | 显示全部楼层
procedure TFormLogin.FormCloseQuery(Sender: TObject; var CanClose: boolean);
begin
  if MessageDlg('鎻愮ず', '纭畾閫嚭鍚', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    halt;
  CanClose := False;

end;                                   
有几个字符复制不了

超级头疼,从0.9.28.2到0.9.31 都有这问题
上面是个很简单的语句 窗口关闭事件 弹出个 确认窗口 确认,下午看起来是这样  
procedure TFormLogin.FormCloseQuery(Sender: TObject; var CanClose: boolean);
begin
  if MessageDlg('提示', '确认退出程序?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    halt;
  CanClose := False;

end;                           
几个版本都默认安装,没做任何调整,除了安装了个zeos7.0外
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-3-24 01:12:16 | 显示全部楼层
操作系统 winxp sp3 ,测试win7 sp1  ,win7 sp1 x64 都有这现象,但奇怪的是
我做了个窗口,就显示个中文
代码如下:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;

type

  { TForm1 }

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
       showmessage('中文乱码不?');           //测试中文
end;

end.

却不乱码
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-3-24 09:47:25 | 显示全部楼层
本来中文一般没有问题,只是说打开文本文件、老的IDE、其它系统等时候会有问题
如果你只是helloworld是没问题的
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-3-24 09:49:01 | 显示全部楼层
主要是字符编码的问题
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-3-25 15:24:52 | 显示全部楼层
经过多次测试和对比备份文件等,发现应该是文件编码引起,用notepad++打开,不乱码的是utf8 无dom格式,引起乱码的,则由utf8 无dom格式变成了ANSI格式,但困惑的是,在IDE里面编辑源代码,并未更改文件编码,怎么编码会变为ANSI?且是不知不觉的就改变了?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-13 16:59:46 | 显示全部楼层
我是把delphi的项目转过来的,所有的showmessage全是乱码,要怎么处理啊?我试过把.pas文件换成utf8格式的,也不行。
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-3 08:28 , Processed in 0.031195 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表