function TranslateDBFile(Str: string): String;
var
tmp: UTF8String;
l: Integer;
l_WideString: PWideChar;
l_Length: Integer;
begin
l_Length := Length(Str) * 2;
GetMem(l_WideString, l_Length);
StringToWideChar(Str, l_WideString, l_Length);
Result := Utf8Encode(l_WideString);
GetMem(l_WideString, 0);
end; procedure TForm1.FormCreate(Sender: TObject);
begin
ASQLite3DB1.Database := TranslateDBFile('F:\Sample1我(oneTTtable)\')+'data.s3db';
//这里转换完后,我 变成了乱码,不知道什么原因,
ASQLite3Table1.Open;
end;
var
tmp: UTF8String;
l: Integer;
l_WideString: PWideChar;
l_Length: Integer;
begin
l_Length := Length(Str) * 2;
GetMem(l_WideString, l_Length);
StringToWideChar(Str, l_WideString, l_Length);
Result := Utf8Encode(l_WideString);
GetMem(l_WideString, 0);
end; procedure TForm1.FormCreate(Sender: TObject);
begin
ASQLite3DB1.Database := TranslateDBFile('F:\Sample1我(oneTTtable)\')+'data.s3db';
//这里转换完后,我 变成了乱码,不知道什么原因,
ASQLite3Table1.Open;
end;
解决方案 »
- 如何在PAGECONTROL 选中当前页(编写代马)
- 求救,表数据删除时的错误????
- 昨日走在雨中,我爱的人与我分手了............
- 一个主从表的问题,搞定了一定给分。
- 非控制台模式程序,如何在命令行下运行时直接向当前命令行窗口输出?
- 领导要让我写一份delphi的编程规范,该怎么写?
- delphi中的dbgrid,如果在运行期中添加了一个columns后,想给这个columns所在的列添加值,比如添加这个dbgrid 相关联的表中相应属性值的
- 请教个问题,indytcpclient已经连接上了tcpserver,tcpserver能否主动发信息给client?
- 请问如何检测edit框中输入的是中文还是英文,并根据输入的语言做出相关的提示
- 在设置墙纸是怎样可以使用 jpg 格式的文件?
- 毕业设计的全部程序都在这了 达人帮忙改下
- 关于delphi的窗口调用问题
var
tmp: UTF8String;
l: Integer;
l_WideString: PWideChar;
l_Length: Integer;
begin
//l_Length := Length(Str) * 2;
//GetMem(l_WideString, l_Length);
//l_WideString := StringToWideChar(Str, l_WideString, l_Length); Result := Utf8Encode(WideString(Str));
//GetMem(l_WideString, 0);
end;
改成这样也不行啊,还是乱码
ASQLite3DB1.Database := AnsiToUTF8(TranslateDBFile('F:\Sample1我(oneTTtable)\')+'data.s3db');
然后再看看,以前遇到过,但是弄成UTF-8编码后就好了,貌似
这个也是乱码
这个也是乱码F:\Sample1鎴?oneTTtable)\data.s3db
SqliteDB.Database := AnsiToUTF8(ExtractFilePath(ParamStr(0)) + 'LogiOA');你搞复杂了吧
回去帮你找找代码
SqliteDB.Database := AnsiToUTF8(ExtractFilePath(ParamStr(0)) + 'LogiOA');
这种方式我也试了,不行
我变成:F:\Sample1我(oneTTtable)\data.s3db 这个编码后,还是不行
transactiontype = 缺省即可不用 进行编码转换。直接中文路径即可。
谢谢大家
zeoslib 6.6.2 以上的可以直接使用中文路径。
我用的sqlite+zeoslib控件 来读取utf8 编码的数据库,原因是ansi对模糊查询 like 支持的不好。带来的问题就是直接使用GRID显示和编辑数据总是乱码。 zqry1.SQL.Text:=Utf8encode('select * from area where area like ''%人'''); 只有grid里出错,其他都可以用utf8encode utf8decode 显式转换。因为其他控件里单字段单记录的,而grid控件确实多行多记录的,如果能在grid控件里对显示和保存每一字段值都作下类似的转换,我想应该可以实现吧。 sqlite expert professional 和橙子的工具 都同时支持utf8 和ansi。
既然 sqlite expert professional 能显示出来 UTF8 的数据表。不知道它里面用的是不是dbgrid 反正是个表格形式的。我想dbgrid通过类似于 utf8encode utf8decode 的方式也可以实现吧。 所以肯定有办法解决“使用UTF8就不能直接使用GRID编辑数据” 的问题。
期待各位高手的出现。