3

我有一台 Star Micronics SM-S220i 蓝牙打印机。我正在使用它从我的 iPad 应用程序中打印收据。我不能让像 åäö 这样的 UTF-8 字符工作。

这是我的代码:

NSMutableData *commands = [[NSMutableData alloc] init];

[commands appendData:[@"\nåäö\n" dataUsingEncoding:NSWindowsCP1252StringEncoding]];

当使用这种编码时,它会在 DOS 字符中打印 åäö。

4

2 回答 2

6

如果转换为 CP1292 的“å”打印为“σ”,则打印机可能需要 CP437 编码的数据。CP437kCFStringEncodingDOSLatinUS可以转换为 NSString 编码:

NSMutableData *commands = [[NSMutableData alloc] init];
NSStringEncoding cp437 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSLatinUS);
[commands appendData:[@"\nåäö\n" dataUsingEncoding:cp437]];
于 2013-03-29T10:53:37.750 回答
2

尝试使用不同的编码,例如:

[commands appendData:[@"\nåäö\n" dataUsingEncoding:NSUTF8StringEncoding]];
于 2013-03-29T09:49:48.417 回答