CHARSET

发布时间:2026/9/11 19:12:47
CHARSET 深入理解达梦数据库参数CHARSET1.参数作用CHARSET参数的功能是字符集选项取值有012。0代表GB180301代表UTF-82代表韩文字符集EUC-KR。需要注意的是此参数在数据库创建成功后无法修改可以通过系统函数SF_GET_UNICODE_FLAG()或 UNICODE()查询设置的参数值。LENGTH_IN_CHAR是一个主要作用于varchar类型可变长类型数据的参数以存储汉字为例当字符集gb18030时若以字节为单位则varchar3能存下1个汉字1个英文。字符集为uft8时以字节为单位varchar3只能保存一个汉字。而当该参数设置为1时实际上varchar的精度会进行拓展在默认字符集下会变为定义长度的2倍uft8情况下会变为定位长度的4倍。24年q2版本之后该参数已经废弃默认值LENGTH_IN_CHAR0所有数据库均按照默认以字节为单位进行初始化。实验步骤准备两个实例CHARSET分别为1、0。在 之前我们已经有了CHARSET1的实例现在创建CHARSET0的实例。./dminitPATH/dmdata/data/DM_CHARSETDB_NAMEDM_CHARINSTANCE_NAMEDM_CHARSETPORT_NUM5237LOG_SIZE256CASE_SENSITIVE0CHARSET0PAGE_SIZE16SYSDBA_PWD1qaz2WSXSYSAUDITOR_PWD1qaz2WSX注册服务./dm_service_installer.sh-tdmserver\-dm_ini/dmdata/data/DM_CHARSET/DM_CHAR/dm.ini\-pCHAR启动服务后 查询新实例的CHARSET参数值如图字符字节长度对比在两个实例中执行相同的SQLSELECT达梦数据库AS文本,LENGTH(达梦数据库)AS字符个数,LENGTHB(达梦数据库)AS字节长度;当CHARSET0时的执行结果是字符长度为5字节长度为101个汉字两个字节当CHARSET1时的执行结果是字符长度为5字节长度为151个汉字三个字节字段长度溢出测试CREATETABLEtest_charset(idINT,col_nameVARCHAR(4)-- 分配 4 个字节空间);-- 尝试存入 2 个中文汉字达梦INSERTINTOtest_charsetVALUES(1,达梦);在CHARSET0的实例下执行时会执行成功是因为GB18030下没有超出长度上限。在CHARSET1的实例下执行语句时会出现长度超出定义的报错就是因为在UTF-8下达梦这两个字占用了2×3个字节VARCHAR4无法装入。达梦社区https://eco.dameng.com

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询