我有一台Star Micronics SM-S220i蓝牙打印机。我用它来打印我的iPad应用程序的收据。我不能像åäö那样使用UTF-8字符来工作。
这是我的代码:
NSMutableData *commands = [[NSMutableData alloc] init];
[commands appendData:[@"\nåäö\n" dataUsingEncoding:NSWindowsCP1252StringEncoding]];
使用此编码时,它会在DOS字符中打印åä。
答案 0 :(得分:6)
如果转换为CP1292的“å”打印为“σ”,则打印机可能需要CP437编码中的数据。 CP437可用作kCFStringEncodingDOSLatinUS
,可以转换为NSString编码:
NSMutableData *commands = [[NSMutableData alloc] init];
NSStringEncoding cp437 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSLatinUS);
[commands appendData:[@"\nåäö\n" dataUsingEncoding:cp437]];
答案 1 :(得分:2)
尝试使用其他编码,例如:
[commands appendData:[@"\nåäö\n" dataUsingEncoding:NSUTF8StringEncoding]];