How do I tell if a user’s entering Unicode data into my ANSI app?

#1:  Is there a really, really good reason you didn’t compile your app with the unicode flag?  Just the fact that you’re asking this question is a pretty big red flag that some user might want to enter Unicode data into your app.  Supporting Unicode is pretty painless (at least if you plan for it…


IDNA – Is it fussball or fußball?

[Update – Note: A coworker pointed out that it’s really Fussball or Fußball, since it’s a noun.  I knew that, I’m just using the lower case here because domain names get lower cased, which is a seperate issue and I didn’t want to complicate the example.] IDNA2008 (which is something of a misnomer, since it’s actually…


Short Date Formats Don’t Always Fit Neat Patterns

I’m often asked something like “What’s the date separator  for locale XXX?”  Well, not every locale fits our preconceived MM/dd/yyyy concepts.  Some of the built-in values that developers may not expect: dd/MM yyyy — 20/10 2010 — This one has different separators (space and /) so you tell me which one DateTimeFormatInfo.DateSeparator is supposed to use?…


Unicode 6.0 has a new Indian Rupee Symbol, how do I get it?

Well you can’t, not yet anyway.  Unicode 6.0 adds the new Indian Rupee Symbol at U+20B9 (see ) so how do you get it to work? Unfortunately you can’t get it to work immediately ;-(.  The problem’s actually really complicated as there are lots of moving parts.  You need a font to display it,…


Thoughts About Email Addresses with EAI (Email Address Internationalization)

The EAI Working Group ( is making rapid progress toward standardizing Unicode email addresses.  Unicode email addresses are a terrific feature for people in many countries that don’t use Latin/ASCII as a native script.  Ironically, in the US its easy to miss the importance of non-ASCII email addresses.  Many other Latin script users may also think…


Quick Custom Culture to Change Euro Currency Symbol

I was asked for a quick sample of how to build a culture, so here it is:  1.) Start an elevated command prompt (have to be elevated to run CultureAndRegionInfoBuilder.Register())  (press windows key, type cmd, press ctrl+shift+enter is one way). 2.) copy the code below to testcc.cs.  (notepad testcc.cs and cut & paste the code)….


The Square Boxes in My Blog’s Title

Someone pointed out the boxes in my blog’s title.  That’s a script some fans use for Klingon, but since it’s not in Unicode, you need a pIqaD font to see it correctly.  If you really want to see the square boxes, then grab the pIqaD.ttf font from the .zip in my earlier post:  You…


There’re now "real" IDN TLDs….

http://موقع.وزارة-الاتصالات.مصر (I don’t know what it is, I don’t read arabic, I’m just pointing it out as an example.) http://президент.рф (for a cyrillic example, apparently the president of Russia web site). -Shawn


4 IDN ccTLDs (country code top level domain)s have been approved.

This is old news, but I didn’t blog about it yet.  4 IDN ccTLDs have been approved: Cyrillic ScriptRussian Federation (RU): рф Arabic ScriptEgypt (EG): مصر Saudi Arabia (SA): السعوديةUnited Arab Emirates (AE): امارات


Shawn Dropped the Space Needle

111 Around work I’m well known for the Lego in my office (counting in the 10’s of thousands of pieces).  Last summer I was tricked into building a Lego Space Needle for a space in our old building.   As you can see, I dropped the space needle when moving it to the stairwell in our…