fo-dicom开发C-StoreSCP报错'GB18030' is not a supported encoding name

医疗DICOM开发
140
补充展位
Pages_Weblog_Get#658aee24-1835-b530-004a-47d26dca198e
文章摘要
此内容由人工摘要内容,并由AI根据文章内容进行润色
暂无内容

前些日子接了一个DICOM Store 服务对接pacs相关的私活,在调试fo-dicom库测试对接设备时日志出现了如题报错 'fo-dicom开发C-StoreSCP报错'GB18030' is not a supported encoding name', 大概意思就是GB18030这个不是受支持的编码字符集

fo-dicom开发C-StoreSCP报错'GB18030' is not a supported encoding name

然而在相同的环境下,使用.Net Framework版本的fo-dicom库并没有出现类似的问题,这让我意识到这可能是由于.net 6环境下的某些设置或配置导致的。通过百度一乐一堆有用没用的资料找到了原因,原来是默认情况下.net 6的fo-dicom库并未包含对GB18030编码字符集的支持。

最终在GitHub上找到了相关的讨论和解决方案。根据这些信息,发现.net 6的版本需要手动去注册GB18030编码支持字符集。在.net 6中,可以通过添加特定的NuGet包来添加对GB18030的支持。

$67abd01c-0c2b-c538-007c-76a50b76b44f

解决办法

.net 6默认未引用System.Text.Encoding.CodPages,添加引用后需要注册一下即可:注册代码如下:

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
补充展位 Pages_Weblog_Get#0
补充展位 Pages_Weblog_Get#1