作者Alica (Torsades de Pointes)
看板CMstudents
标题Re: [讨论] 资讯硬体的二三事
时间Sun Jul 26 01:18:13 2015
单就编码这回事来补充说明一下.
※ 引述《gentlwind (ㄉㄊ)》之铭言:
: 补充:很多穴位与药名也是非BIG5字元.我觉得能正确显示会比较好
同意.最简单的测试方式就是打几个穴位,例如肩"骨翏"ㄌㄧㄠˊ便是.
若HIS系统可以显示,要嘛有使用造字(如Unicode补完计画),要嘛HIS是使用Unicode内码.
1F:→ Alica: mysql一定有支援unicode啦 不过这是厂商搭配设计的问题07/24 11:45
2F:→ Alica: 前端厂商的HIS不支援unicode 後端资料库支援也没路用07/24 11:46
: 这我就不了解了.多次请人设计mySQL程式.Unicode大多要额外处理才不会变乱码
: 古老年代我都自己造字.自学以为的概念是内码对应字体.不过一但去读「Unicode补完计
: 画」的说明文件就会发现不是这麽简单.所以我就懒得弄懂了.
中医HIS在Windows平台上的编码输出入有几个方向:
健保卡→健保读卡机↘ +-------+ ↗显示於萤幕上
|HIS系统| →撷取系统字型後
工作人员键盘输入 ↗ +-------+ ↘列印输出
↑↓
後端资料库(MySQL/MSSQL等)
首先,健保卡内储存的姓名资料都是BIG5码,长度只有20byte,可存10个中文字的空间.
http://www.nhi.gov.tw/Resource/webdata/21718_1_1030034397-1.xls
所以若姓名有非BIG5范围的字(例如某水牛伯的堃),健保卡内存资料读卡时就会跑出*号.
碰到原住民或外国居留人士名字太长的也会被截断,这时需要手动输入患者姓名.
Windows平台下东亚语系程式处理的内码有两类:一类DBCS(在台湾为BIG5),一类Unicode.
开发Unicode程式比较麻烦,加上健保卡本身就存BIG5,所以多数HIS系统都是用BIG5内码.
(好几年前就连长庚大庙的中医系统也是BIG5;现在不知道有没有变化?)
BIG5也有好几个版本.标准BIG5下是连水牛伯的堃都无法显示,也才会跑出方方土的代称.
Unicode补完计画则是使用标准BIG5所保留的造字空间大量引入缺字以及假名/简体等.
使用造字档的问题是不同家的造字码位不同不相容,例如堃这个字可能造在不同码位.
(Unicode补完计画的堃造在954A,别家造字档的954A可能是空码或对应到别的字)
所以在这边看到的正确文字可能传到别处去就变成乱码了,以後搞电子抽审时会出现问题.
反而资料库软体开发时就因应全球化需求,本身都是可以使用各国不同编码的.
但是前端厂商的HIS系统不改,资料库支援Unicode也是备而不用而已.
依目前的生态,大概要健保IC卡哪天砍掉重练时改存Unicode才会带动厂商更新HIS吧...
--
松 山
まつやま
◣ 南港 █ 台北 ◥
Nankou Matsuyama Taihoku
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 124.10.86.38
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/CMstudents/M.1437844700.A.B8C.html
3F:推 ellisnieh: 推,个人意见这几篇都有M的价值。 07/26 13:38
4F:推 Uber: 推 07/26 19:36
5F:推 gentlwind: 资讯厂商不够积极是真的 07/26 22:21
6F:推 ellisnieh: 既然IC卡本身用BIG5,官方不改资讯厂商积极也没用吧… 07/26 23:02
7F:推 fecent: 要官方有效率很难XD 07/27 00:14
8F:推 gentlwind: UNICODE也只是减少*出现机率而已.总有人名字选怪字 07/27 04:47
9F:→ Alica: 康熙字典在比较新的Unicode版本都收完啦 还出现*就没辄了 07/27 11:48
10F:→ Alica: 再怎样总比已知缺字一堆的BIG5强 07/27 11:48