我使用dcm4che作为我的PACS,我正在插入一个DICOM文件,其中包含日语字符的患者姓名。 但dcm4chee的基于网络的网址不支持日文字符,并将患者姓名显示为乱码(如问号和方块)。
对于DCM4CHE,我使用postgresql作为DataBase。在数据库属性中,它显示“编码为UTF8”,“排版”为“English_India.1252'和'字符类型为English_India.1252'。我的DB支持日文字符吗? 我是数据库的新手,我们将不胜感激。
修改 此问题与PACS无关。我获得了一个带有日文章程的有效DICOM文件(他们使用特定字符集作为\ ISO 2022 IR 87)并将其发送给PACS。它在PACS中正确显示。所以问题在于我的DICOM文件。我还插入了特定的字符集作为' \ ISO 2022 IR 87'。但是我的日语字符仍然是乱码。
我正在使用MergeCom Dicom实用程序并使用' MC_Set_Value_From_String'用于插入日语字符串的API。我错过了什么吗?是否无法使用' MC_Set_Value_From_String'来插入日文字符。 ?我正在考虑使用API MC_Set_Value_From_UnicodeString。
答案 0 :(得分:0)
UTF-8支持所有unicode代码点,其中包括日语。因此数据库不太可能成为问题。
特定字符集(0008,0005)标签的内容是什么? dicom的默认字符编码是ASCII。 dicom规范中有section提供了与日语一起使用的示例。
答案 1 :(得分:0)
我可以解决这个问题。
问题与编码有关。对于Unicode转换,我使用的是Windows API" WideCharToMultiByte"代码页是UTF-8。这没有正确转换使用代码页固定为50222的日文字符。 您可以从下面链接找到所有代码页。 https://msdn.microsoft.com/en-us/library/dd317756(VS.85).aspx