没有数据可用于编码936

时间:2016-03-18 05:59:41

标签: ios xamarin codepages

我正在制作使用热敏打印机从移动应用程序打印发票的程序,它在英语中工作得很好,但是当我尝试打印中文单词时,它显示以下错误,有人可以建议如何解决它吗?

错误消息:没有数据可用于编码936。

private byte[] UTF8Encoding (string myString) {
Encoding ascii = Encoding.ASCII;
Encoding unicode = Encoding.Unicode;

myString = "披";
byte[] unicodeBytes = null;
byte[] asciiBytes = null;
try {
unicodeBytes = unicode.GetBytes(myString);
asciiBytes = Encoding.Convert(unicode, Encoding.GetEncoding("gb2312"), unicodeBytes);
} catch (Exception e) {
Debug.Log ("{0}", e.Message);
}
//          myString = Encoding.UTF8.GetString(bytes);
return unicodeBytes;
}

我还尝试添加Microsoft Codepage组件,但它显示以下错误,并且不允许我将其添加到Xamarin项目中:

添加System.Text.Encoding.CodePages ... ' System.Text.Encoding.CodePages 4.0.0'包需要NuGet客户端版本' 3.0'或更高版本,但当前的NuGet版本为“2.8.7.0”。

1 个答案:

答案 0 :(得分:0)

您需要在iOS构建选项中明确包含代码页:

enter image description here

由于您缺少代码页936,请在构建选项中包含cjk。确保对所有构建配置(调试,发布等)执行此操作。

请参阅: