您好!欢迎访问家园网-www.jy.wang!

家园网

这个PRC是啥,啥意思,词源角度讲一下

网络 作者:本站 点击:

这个PRC是啥,啥意思,词源角度讲一下


CREATE TABLE tb_name(
    id int IDENTITY (1,1) NOT NULL,
    name varchar (50) COLLATE Chinese_PRC_CI_AS NULL
)


好,从词源角度拆解 PRC 在这个 SQL 语句里的来龙去脉。


词源三层拆解

第一层:字母本身

PRC = People's Republic of China

这三个字母直接借用了联合国/国际政治中对“中华人民共和国”的标准英文缩写。


第二层:为什么 SQL Server 要用政治缩写?

这就要说到微软在 1990 年代设计 SQL Server 7.0/2000 时的历史背景

时间事件
1949 年中华人民共和国成立,英文名定为 People's Republic of China
1971 年联合国恢复中华人民共和国合法席位,PRC 成为官方缩写
1990 年代微软开发 SQL Server 7.0 和 2000,需要给不同地区的排序规则命名

微软当时的命名逻辑很简单粗暴:

“用一个全球都认的、不会产生歧义的短代码来代表‘中国大陆简体中文’”

候选方案:

  • CHS(Chinese Simplified)→ 太技术化,不够“地区化”

  • CN(中国 ISO 国家代码)→ 后来被用了,但早期没统一

  • PRC → 政治缩写,国际通用,不会和台湾/香港混淆 ✅ 选中

关键点: 当时台湾地区用的是 Chinese_Taiwan,香港回归前用的是 Chinese_Hong_Kong。用 PRC 可以明确区分“中华人民共和国”和“台湾/香港”的排序规则。


第三层:Chinese_PRC 这个词的构造逻辑

text

Chinese_PRC_CI_AS
   │       │  │
   │       │  └─ AS = Accent-Sensitive(区分重音)
   │       └──── CI = Case-Insensitive(不区分大小写)
   └──────────── 语言_地区

Chinese 表示语言家族(中文)
PRC 表示地区变体(中华人民共和国用的那一套)

类似命名的例子:

排序规则含义
Chinese_Taiwan台湾地区用的繁体中文规则
Chinese_Hong_Kong香港地区用的繁体中文规则
Chinese_Singapore新加坡用的简体中文规则
French_France法国用的法语规则
French_Belgium比利时用的法语规则
English_US美国用的英语规则
English_UK英国用的英语规则

模式: 语言_地区 → 表示“这个地区的这个语言怎么写、怎么排、怎么比”


历史小插曲:为什么不直接用 CN

ISO 3166 国家代码中,中国的两字母代码是 CN,三字母是 CHN

但微软早期命名时:

  • CN 已经被用在别的地方(比如系统区域设置 LCID)

  • 三字母 CHN 不够直观,一般人不知道

  • PRC 在国际政治语境中已经非常成熟,直接拿来用更省事

所以这是个政治缩写进入技术命名的典型案例。


现在的演变

SQL Server 2005 之后,微软引入了更规范的 .NET 文化名称:

老名字新名字(LCID)
Chinese_PRCzh-CN(中文-中国)
Chinese_Taiwanzh-TW(中文-台湾)
Chinese_Hong_Kongzh-HK(中文-香港)

但为了向后兼容,Chinese_PRC 这种老写法仍然能用。


总结(词源角度)

PRC 是从国际政治领域借来的缩写,用来在 1990 年代的技术命名中,无歧义地指代“中华人民共和国使用的简体中文规则”。

它经历了:

text

政治缩写(联合国/外交) 
  → 借用到数据库排序规则命名(SQL Server 7.0) 
    → 成为事实标准(无数 Chinese_PRC 建表语句) 
      → 被新版 zh-CN 取代(但老代码里遍地都是)

所以你现在看到的 Chinese_PRC,本质上是一块1990 年代政治与技术交织的活化石


标签: