1.二进制SqlServer正像现场反馈的这样,后台字段只能以nvarhcar类型来保存,并且插入和更新的时候需要在字段前加’N’,例:
update SF_BRXXK set hzxm=N’䶮’

可参见:https://blog.csdn.net/chinahuyong/article/details/78558695
2.Delphi6当前的控件也无法显示该生僻字,需要安装TNT系列的控件,才能支持 生僻字的录入与显示。
tntunicodecontrol控件,百度云下载地址链接:https://pan.baidu.com/s/152GP1bVxijo4e2frqVljRg 密码:uwxn

3.以上两点可以实现数据库的存储和前台的录入与显示,但是如何将后台保存的生僻字读取到前台,以及将前台录入的生僻字保存在后台。经测试使用框架的ztsql,ClientDataSet,TDCOMconnection等都无法实现,只有使用TADOConnection才能完成。

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, TntStdCtrls, DB, ADODB, RzButton, ExtCtrls, RzPanel;typeTForm1 = class(TForm)btn2: TRzBitBtn;lbl3: TLabel;EditConnectionString: TEdit;ADOConn: TADOConnection;Query3: TADOQuery;btn4: TRzBitBtn;rzgrpbx1: TRzGroupBox;lbl2: TLabel;EditHzxm1: TEdit;btn1: TRzBitBtn;lbl4: TLabel;EditHzxmnew1: TEdit;rzgrpbx2: TRzGroupBox;lbl5: TLabel;lbl6: TLabel;EditHzxm2: TTntEdit;btn3: TRzBitBtn;EditHzxmNew2: TTntEdit;procedure btn2Click(Sender: TObject);procedure btn4Click(Sender: TObject);procedure btn1Click(Sender: TObject);procedure FormCreate(Sender: TObject);procedure btn3Click(Sender: TObject);private{ Private declarations }strsql,errmsg : widestring;g_connection :boolean;public{ Public declarations }end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.btn2Click(Sender: TObject);
varstrConnection :string;
beginstrConnection := trim(EditConnectionString.Text);ADOConn.ConnectionString:=strConnection;tryADOConn.Connected := true;exceptOn E:Exception dobeginshowmessage('连接数据库失败:'+e.Message);exit;endend;if ADOConn.Connected thenbeginshowmessage('数据库连接成功!');g_connection := true;endelsebeginshowmessage('数据库连接失败!');g_connection := false;end;
end;procedure TForm1.btn4Click(Sender: TObject);
varrec:_Recordset;
beginif not g_connection thenbeginshowmessage('请先连接数据库');exit;end;//1 初始化表strsql := ' if not exists(select 1 from sysobjects where name = "nvarcharTest" and type = "U")'+ ' begin'+ '   create table nvarcharTest'+ '   ('+ '      hzxm nvarchar(64)'+ '   )'+ '   insert into nvarcharTest(hzxm) values("张三") '+ ' end ';strsql := stringreplace(strsql,'"','''',[rfReplaceAll]);tryADOConn.Execute(strsql);excepton E: Exception dobeginshowmessage('  -- 错误描述:'+E.Message);Exit;end;end;//2 用ADOQuery连接数据库可以更新生僻字到数据库strsql := 'select * from nvarcharTest ';tryrec:= ADOConn.Execute(strsql);except on E: Exception dobeginshowmessage('  -- 错误描述:'+E.Message);Exit;end;end;if (assigned(rec)) and (not rec.eof) thenbeginEditHzxm1.Text := widestring(rec.Fields[0].Value);EditHzxm2.Text := widestring(rec.Fields[0].Value);EditHzxmnew1.Text := '';EditHzxmNew2.Text := '';end;//3 用Query连接ADOQuery连接数据库可以读到生僻字
end;procedure TForm1.btn1Click(Sender: TObject);
beginif not g_connection thenbeginshowmessage('请先连接数据库');exit;end;strsql := widestring(' update nvarcharTest set hzxm = N'''+widestring(EditHzxmnew1.Text)+'''');tryADOConn.Execute(strsql);except on E: Exception dobeginshowmessage('  -- 错误描述:'+E.Message);Exit;end;end;btn4.Click;
end;procedure TForm1.FormCreate(Sender: TObject);
beging_connection := false;
end;procedure TForm1.btn3Click(Sender: TObject);
beginif not g_connection thenbeginshowmessage('请先连接数据库');exit;end;strsql := widestring(' update nvarcharTest set hzxm = N'''+widestring(EditHzxmnew2.Text)+'''');tryADOConn.Execute(strsql);except on E: Exception dobeginshowmessage('  -- 错误描述:'+E.Message);Exit;end;end;btn4.Click;
end;end.

Delphi6及SqlServer对于生僻字䶮的支持测试相关推荐

  1. sqlserver中文生僻字乱码问题

    sqlserver中文生僻字乱码问题解决 场景:前端输入生僻字,e.g. 㙍.㮾,存入到数据库为乱码(㙍/-). 解决:修改会存生僻字的字段(一般地址字段)的数据类型为nvarchar,在插入或更新s ...

  2. java mysql 生僻字_mysql/Java服务端对emoji或者生僻字的支持

    最近开发的iOS项目因为需要用户文本的存储,自然就遇到了emoji等表情符号如何被mysql DB支持的问题.困扰了数日,在就要绝望放弃的边缘,终于完成了转换和迁移.在此特别分析和整理,方便更多人. ...

  3. php获取中文拼音(含生僻字)支持首字母,全拼

    此文为基础篇-优势在于速度更快,无依赖第三方库.如需更多功能可参考进阶篇 进阶篇 支持多音字,音标 php获取中文拼音(含生僻字,多音字,音标)支持首字母,全拼 /*** 中文转拼音 (utf8版,g ...

  4. SQLServer特殊字符/生僻字与varchar

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chinahuyong/article/details/78558695 对于中文版的SQL SERV ...

  5. php获取中文拼音(含生僻字,多音字,音标)支持首字母,全拼

    前面文章有提到php获取中文拼音的解决方案,文章链接如下 该方法的优势在于速度够快,不依赖于任何第三方库.但不支持多音字以及音标的获取,现在将借助第三方库解决这个问题 上一篇地址 php获取中文拼音( ...

  6. 生僻字存不到mysql_数据库存储生僻字存在的问题

    最近遇到两个比较棘手的事情,都是同一种状况:数据库储存不了带有生僻字的客户名. 一个是"?",另外一个是"?",只能是感叹汉语真是博大精深啊.SR向原厂的工程师 ...

  7. pl/sql developer oracle生僻字显示问题

    一.问题由来        随着国标GB18030的推行,各行各业都在如火如荼的落实改造.自己在工作中也发现很多问题,查阅了很多资料都未解决自己的问题.经过慢慢摸索,对生僻字经常出现的问题进行总结,现 ...

  8. java校验中文姓名合法性(需要支持生僻字与分隔符·)

    背景: 国家民委等单位关于在政府管理和社会公共服务信息系统中统一姓名采集应用规范的通知 对中文姓名合法性校验时,需要支持所有GB18030中涉及到的汉字(包括生僻字),并支持部分少数民族姓名中带有分隔 ...

  9. 支持生僻字且自动识别utf-8编码的php汉字转拼音类,PHP汉字转拼音类(支持生僻字且自动识别utf-8编码)...

    这篇文章主要介绍了PHP汉字转拼音类(支持生僻字且自动识别utf-8编码),非常实用!需要的朋友可以参考下. 拼音类文件py_class.php源码如下: class py_class{ functi ...

最新文章

  1. 航天智慧物流南北分区赛通知
  2. 在Windows环境下安装hyperledger和byfn
  3. iOS之数组的排序(升序、降序及乱序)
  4. 【Java设计模式】建造者模式、原型模式
  5. 计算机的配件知识,一台电脑需要多少配件组成,硬件知识介绍
  6. 变色龙引导_Arquillian变色龙。 简化您的Arquillian测试
  7. mysql 排序1.1.1_mysql中字符串1.1/1.2/1.2.2/1.2.5排序问题
  8. 不重叠的线段(51Nod-1133)
  9. python 把xml中含有特殊字段的部分提取出来_Python: 爬虫网页解析工具lxml.html(一)...
  10. multiprocessing.manager管理的对象需要加锁吗_iOS内存管理布局及管理方案理论篇
  11. 使用supervisor / systemctl nginx uwsgi 运行odoo
  12. (转)oop设计模式简介
  13. 安卓12解除进程限制的第三种方式:黑阈
  14. 程序员如何提升开发团队的协作效率和质量?
  15. 使用 python 批量移动文件夹下的文件
  16. cocos2d-之音乐背景播放
  17. 战地2服务器主程序修改,战地2BOT数值怎么更改BOT数值如何更改_BOT数值更改教程_游戏城...
  18. android代码修改mp3文件封面,从android中的mp3文件中提取专辑封面
  19. 更改Gradle镜像下载地址
  20. java游戏武状元苏乞儿_武状元苏乞儿演员表

热门文章

  1. 机器学习与计算机视觉(开篇)
  2. C语言和设计模式(解释器模式)
  3. 深度linux桌面启动器,在Deepin桌面系统启动器中创建“我的世界”启动项
  4. c语言 动态链表,C语言的链表(篇章之二:动态链表)
  5. python 二维列表切片_Python中mutable与immutable和二维列表的初始化问题
  6. ubuntu中显示本机的gpu_Ubuntu下实时查看Nvidia显卡显存占用情况和GPU温度
  7. 一元三次方程重根判别式_一元四次方程的常规解法
  8. AWVS14.4.21安装时出现Internet server exception和扫描失败
  9. mysql添加标签_PHP / MySQL - 如何添加多个标签
  10. C# 如何理解 ASP.NET Web API 的 REST