MAC版故障

2018版CBREADER的MAC版不時會出現全文檢索後點擊部分檢索結果提示故障,甚至會自動關閉。

討論區:
cbeta의 이미지

檢查之後,發現是因為附圖中的第一個漢字是 Unicode 3.1 以上的文字,在 Mac 的 XML 無法直接解析處理,造成錯誤,看來還要為 Mac 版額外處理這些比較新的 Unicode 文字。

好奇怪啊。

unicode这东西不是最新出的都可以直接随意用吗?

比如我为unicode2.0写的程序,在处理unicode12的时候也应该一点问题都没有才对啊。

这是那种技术造成的无法兼容呢?

Linux版本阅藏程序:

http://cbeta.buddhism.org.hk

 

cbeta의 이미지

我在一些商業軟體也有遇到無法支援 Unicode 3.1 以上的問題。

我想主要的原因是因為早期的 Unicode 也是雙位元組就可以解決 ( Unicode 3.0 之前) .

但 Unicode 3.1 使用了 Unicode 第二輔助平面, 一個漢字要4個位元組, 若用 UTF16 來表示,就會感覺有二個字,這在一些計算字數或相關的程式就會造成錯誤,嚴謹一些的程式甚至會認為這些字的範圍不在標準的 Unicode 中,就直接丟出錯誤訊息了。

我10年前写过的程序,当时没注意版本。估计是unicode2.0的吧。现在不做任何修改。处理unicode11毫无问题。

包括目前使用的很多F区的汉字。

unicode的编码范围一直都没有变过。只是增加了新的编码的含义而已。

这应该属于国际标准,始终不变的东西,不需要理会。

所以特别奇怪会遇到这个问题的人。

是因为使用的java?或者php?版本是多少?操作系统?

Linux版本阅藏程序:

http://cbeta.buddhism.org.hk

 

cbeta의 이미지

問題發生在 Embarcadero C++ Builder 10.2 + XCode + XML Parser ,

同樣的程式, 在 Mac 系統才有問題, 在 Windows 則正常.