#116: "%s" inside of format statements in macruby doesn't work with multibyte characters -------------------------------------+-------------------------------------- Reporter: jordan.breeding@mac.com | Owner: lsansonetti@apple.com Type: defect | Status: new Priority: blocker | Milestone: MacRuby 1.0 Component: MacRuby | Resolution: Keywords: | -------------------------------------+-------------------------------------- Comment(by jordan.breeding@mac.com): as an experiment this morning I compiled the following: {{{ #import <Cocoa/Cocoa.h> #import <stdio.h> int main(int argc, char *argv[]) { NSString *testString; NSLog(@"TEST 1\n"); testString = @"Jördan"; NSLog(@"%s", [testString UTF8String]); NSLog(@"%@", testString); printf("%s\n", [testString UTF8String]); NSLog(@"TEST 2\n"); testString = [NSString stringWithFormat: @"%s", [@"Jördan" UTF8String]]; NSLog(@"%@", testString); NSLog(@"TEST 3\n"); testString = [NSString stringWithFormat: @"%@", @"Jördan"]; NSLog(@"%@", testString); return(0); } }}} with this: {{{ gcc -fobjc-gc -o test test.m -framework Cocoa }}} here is the output I got: {{{ 2008-08-30 16:13:35.977 test[42236:10b] TEST 1 2008-08-30 16:13:35.980 test[42236:10b] J√∂rdan 2008-08-30 16:13:35.981 test[42236:10b] Jördan Jördan 2008-08-30 16:13:35.982 test[42236:10b] TEST 2 2008-08-30 16:13:35.982 test[42236:10b] J√∂rdan 2008-08-30 16:13:35.983 test[42236:10b] TEST 3 2008-08-30 16:13:35.983 test[42236:10b] Jördan }}} So I think that this is a problem only with NSString (not with say printf), and I don't know if it is fixable or not because when digging around here: http://developer.apple.com/documentation/Cocoa/Conceptual/Strings/Articles/f... I saw this: {{{ %s Null-terminated array of 8-bit unsigned characters. %s interprets its input in the system encoding rather than, for example, UTF-8. }}} So other than passing Ruby strings directly using "%@" I don't know if there is a way to specify a format containing %s and have it picked up in something other than ASCII/system encoding. -- Ticket URL: <http://www.macruby.org/trac/ticket/116#comment:2> MacRuby <http://macruby.org/>