DCM4CHE无法显示日语字符
DCM4CHE cannot display Japnese Character
我正在使用dcm4che作为我的PACS,并且我正在插入一个DICOM文件,该文件包含日文患者名称。但是dcm4chee基于网络的url不支持日语字符,并且将患者姓名显示为乱码字符(如问号和方块)。
对于DCM4CHE,我使用postgresql作为数据库。在DB属性中,它显示"Encoding as UTF8"、"Collation as English_India.1252"answers"Character Type as English _India.12502"。我的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。
UTF-8支持所有unicode代码点,其中包括日语。因此,数据库不太可能是问题所在。
特定字符集(00080005)标签的内容是什么?dicom的默认字符编码是ASCII。dicom规范中有一节提供了与日语一起使用的示例。
我可以解决这个问题。
该问题与编码有关。对于Unicode转换,我使用的是windows API"WideCharToMultiByte",代码页为UTF-8。这没有正确转换日语字符,这是通过使用代码页50222修复的。您可以从下面的链接中找到整个代码页。https://msdn.microsoft.com/en-us/library/dd317756(VS.85).aspx
- C++字符*缓冲区的大小
- HEX值到wchar_t字符(UTF-8)的转换
- 为什么 Serial.println(<char[]>);返回随机字符?
- 我的字符计数代码计算错误.为什么
- 字符串-C++后显示的随机字符
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 如何在C++中从字符串中分割字符
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 指向指向字符数组的指针数组的指针
- 如何用转义符替换字符串中的所有特殊字符
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 比较字符数组
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 如何在Windows日语系统中打印日语字符
- 使用WriteConsoleW打印Unicode日语字符
- 使用libharu在pdf中打印日语字符
- DCM4CHE无法显示日语字符
- 我如何在 1 字节普通字符串中存储日语字符?
- 日语系统中的字符转换不正确
- 如何检查日语或英语字符