|
|
导航: |
论坛 -> 数据库专区
斑竹:liumazi,waterstone |
|
作者: |
|
2022/9/19 13:33:14 |
标题: |
请帮忙看看是我的问题还是控件问题? |
浏览:1021 |
|
加入我的收藏 |
楼主: |
我用win10-64 -D1042+firedac+sqlite+dbgrid/dbgrideh 显示数据,(全部是Unicode) 发现拉开列宽后,后面显示 乱码,见下图。
但点击表格,复制里面内容,却正常,后面是没有乱码的。 正常是只有 ****.exe ,后面是没有东西的.
请问有遇到的吗?
谢谢...
此帖子包含附件:
大小:22.9K |
----------------------------------------------
阳光总在 |
作者: |
|
2022/9/19 14:00:22 |
1楼: |
默认官方的示例么?
----------------------------------------------
相信自己,若自己都不相信,那还有谁可信。
|
作者: |
|
2022/9/19 14:08:41 |
2楼: |
1. 你要正确设置 FireDAC 里面和编码有关的属性。 2. 你检查一下,在设计期创建固定字段,看看字段类型是 string 还是 WideString 3. 我记得 SQLite 默认是 UTF8 编码,你要检查你的 SQLITE 的编码是什么。
----------------------------------------------
-
|
作者: |
|
2022/9/19 14:24:09 |
3楼: |
刚才我打开 D10.4.2 测试了一下。
先用工具创建一个 SQLite 库。里面做一个表。这个表有2个字段,一个是 VarChar,一个是 NVarChar;
用 FireDAC FdQuery 去连接这个表,设计期创建固定字段,分别是 string 和 WideString 两种不同的字段类型。
拖一个 DBGrid 过来对应这个表,运行期,两个字段都输入中文字符串,都能正确保存,再次打开程序,上次输入保存的中文字符串,也都正常显示出来。
----------------------------------------------
-
|
作者: |
|
2022/9/19 14:25:34 |
4楼: |
再次确认,改为 WIN64 编译的程序,也没问题。
----------------------------------------------
-
|
作者: |
|
2022/9/19 17:06:38 |
5楼: |
需要在fdconnection里设置正确的编码格式
----------------------------------------------
-
|
作者: |
|
2022/9/19 18:42:04 |
6楼: |
没具体写详细,不好判断。 有些小众工具写的SQLite数据库,用delphi怎么读都是乱码,这点我确定存在。 所以我建议delphi写delphi读,一般没问题,或者用已经验证的没问题的工具(例如SQLiteExpert/Navicat Premium等)来写delphi读。 如果是已存在的数据库,建议用工具转出能读的格式,让delphi再次导入写库另存。
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
|
|