uprv_detectWindowsTimeZone() function breaks timezone information from Windows API and causes timezone detection failure.
For example, On my environemnt, Windows API returns "東京(標準時)" but uprv_detectWindowsTimeZone() fuction converts that into "東京(標" and returns wrong result.
Applying attached wintz.c.diff will fix this problem.
Added wintz.c.2.diff. I fixed buffer limit argument. Please ignore wintz.c.diff. I misunderstood u_austrncpy's usage.
Added wintz.c.3.diff (http://www.icu-project.org/trac/raw-attachment/ticket/10129/wintz.c.3.diff). Please ignore wintz.c.diff and wintz.c.2.diff.
I fixed patch to use sizeof() instead of macro value.
Added wintz.c.4.diff. I'm sorry for repeated post. Previous patch edited by hand was broken. New one is created by svn diff.