The Unicode train is leaving the station

by Michael S. Kaplan, published on 2005/10/02 08:19 -07:00, original URI:

That is right, the Unicode train is leaving the station. You might want to make sure to get on board!

I have mentioned before that NLS is not writing new 'A' APIs. We are also recommending the same to other teams; if you are writing new functionality, it is time to remove the additional complication of converting string parameters.

Another factor that I discovered while meeting with MVPs on Friday -- new C++ projects written in Visual Studio 2005 are Unicode by default. So a lot of people will be calling the Unicode functions anyway.

Also in VS 2005, the Resource Editor can understand Unicode .rc files!

Now unfortunately Unicode .RC files are not the default currently; I would love to see this change in a service pack for VS2005 -- maybe someone should suggest it over at the MSDN Feedback Center so people can vote on it? :-)

I'll be posting more on other plans to help with this long-term migration, as they become available. But both inside and outside of Microsoft, the time has come for Unicode....

# Mike on Wednesday, October 05, 2005 11:28 AM:

Re: suggesting the Unicode RC file - been there done that - see

# Michael S. Kaplan on Wednesday, October 05, 2005 12:31 PM:

Well, at least it is in there now. :-)

Thanks, Mike.

# Mike on Tuesday, October 11, 2005 11:04 AM:

Sorry, but I see an MSLA in the horizon - as long as Vista supports non-Unicode, there will be a need for all functions to support non-Unicode.

# Michael S. Kaplan on Tuesday, October 11, 2005 11:12 AM:

Well, that is just it, Mike. Everything that used to work still will. But as we move forward, there will be less and less that you can do with non-Unicode solutions -- a lot of new languages, a lot of new features in general.

You really will want to start planning, as this is clearly the long term strategy.

# Mike on Tuesday, October 11, 2005 12:07 PM:

Agreed that it is the way to go, and should also be done to "set a good example", but in certain cases it makes sense to provide some ANSI versions, e.g. when you talk about string based APIs for code pages (custom or not), you *are* dealing with code pages, which is more likely to be done in a non-Unicode app.

# Michael S. Kaplan on Tuesday, October 11, 2005 12:23 PM:

I did not mention anything about string based APIs for code pages? There are none.

The official policy of this group, started in Server 2003, is no more. It is time to move to Unicode....

# Mike on Tuesday, October 11, 2005 12:28 PM:

Yes, you're right, I was confusing code page IDs and locale IDs, sorry.

# Michael S. Kaplan on Tuesday, October 11, 2005 12:31 PM:

No worries, Mike. Unicode is cooler anyway. :-)

# Yuhong Bao on Thursday, December 29, 2005 2:47 PM:

This Knowledge Base article mentions the first Unicode text file I have ever seen:

# Yuhong Bao on Thursday, December 29, 2005 2:48 PM:

Also, is the train real?

# Michael S. Kaplan on Thursday, December 29, 2005 3:17 PM:

Well, it is in this post an expression -- just letting software developers know that they have had over a decade to do the right thing and now they are going to start suffering if they don't start getting with Unicode in their programs....

# David Pritchard on Tuesday, November 13, 2007 12:52 PM:

I'm a bit late chiming in here, but about time, I reckon. This is sorely needed by Unicode advocates everywhere, so that we can, finally and definitively, drum into everyone's heads that they need to learn this stuff and use it.

referenced by

2012/03/26 The Unicode train left the station YEARS ago, in fact! (2012 edition)

2010/01/11 The Unicode train is leaving the station, 2010 edition (aka How to do a feature in two versions)

2008/03/24 Unicode not being the default is slower and leads to bugs; maybe it ought to change?

2007/10/18 Trying to get people to use Unicode? Lock and load, baby!

2007/05/07 The Unicode train? It left the station....

2007/02/22 Getting the resource info you want

2007/01/16 Tired, overused metaphors, a.k.a. Two rails forward, one rail back!

2007/01/03 UTF-8 and GB18030 are both 'NT' code pages, they just aren't 'ANSI' code pages

2006/11/20 Putting the *backward* in backward compatibility

2006/11/07 When it comes to duration, the little things can mean a lot

2006/10/24 Sometimes in the future 'ANSI' is really going to be unsupported!

go to newer or older post, or back to index or month or day