On Monday, March 18, 2002, at 06:56 PM, Manuel Guesdon wrote:
> On Mon, 18 Mar 2002 12:45:48 +0100 Bj�rn Gohla <[EMAIL PROTECTED]> wrote:
>
>> | On Monday 18 March 2002 12:18, Manuel Guesdon wrote:
>> | > Hi,
>> | >
>> | > When I log (with NSDebugFLog or NSDebugLog) string with characters
>> like �,
>> | > I get strange characters: é
>> | >
>> | > He is an example:
>> | > NSString* aTest=[NSString stringWithString:@"�"];
>> | > NSString* aTest2=[NSString stringWithFormat:@"%@",@"�"];
>> | > [aTest writeToFile:@"/tmp/zz"
>> | > atomically:NO];
>> | > NSDebugFLog(@"%@",aTest);
>> | > [aTest2 writeToFile:@"/tmp/zz2"
>> | > atomically:NO];
>> | > NSDebugFLog(@"%@",aTest2);
>> | >
>> | > /tmp/zz and /tmp/zz2 are good but not the traces.
>> | >
>> | > BTW, I have GNUSTEP_STRING_ENCODING=NSISOLatin1StringEncoding in
>> my env.
>> |
>> | this looks like the output is utf encoded while your terminal is in
>> single
>> | byte mode.
Yes. This was discussed on the mailing list quite a while back (I think
perhaps when syslog support was added) - and I went with what seemed to
be the
general consensus ... Since syslog doesn't handle wide unicode
characters,
we would output UTF8 where a logged message was not ascii. Perhaps it
should
attempt to use the default C string encoding before resorting to UTF8
though.
> I don't think so:
> When I read on the same term /tmp/zz2 and the log file there's
> a difference.
>
> I've found another problem:
> NSString* aTest=[NSString stringWithString:@"�"];
I guess the NXConstantString code should probably strip the topmost bit
to make
that ascii, or perhaps raise an exception? I think the code doesn't do
that
because checking that the contents of a constant string are ascii
characters
every time the string is used would be very inefficient.
> NSMutableDictionary* dict=[NSMutableDictionary
> dictionaryWithObject:aTest
> forKey:aTest];
> [dict writeToFile:@"/tmp/zz3"
> atomically:NO];
> create a zz3 file like this:
> {
> "\U00e9" = "\U00e9";
> }
> and not like this
> {
> "�" = "�";
> }
>
That's correct behavior afaik ... a property list is supposed to be
ascii data
with \U escapes for unicode characters (it's a locale independent
format), so
the first form is correct.
If the property list was in MacOS-X format rather than OpenStep style
format, it
would be XML and be entirely UTF8 anyway.
I *think* that the things you are seeing as problems are in fact correct
behavior.
_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep