lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niels Kühnel (JIRA) <j...@apache.org>
Subject [Lucene.Net] [jira] [Created] (LUCENENET-420) String.StartWith has culture in it.
Date Sat, 28 May 2011 22:20:47 GMT
String.StartWith has culture in it.
-----------------------------------

                 Key: LUCENENET-420
                 URL: https://issues.apache.org/jira/browse/LUCENENET-420
             Project: Lucene.Net
          Issue Type: Bug
          Components: Lucene.Net Core
    Affects Versions: Lucene.Net 2.9.2, Lucene.Net 2.9.4, Lucene.Net 3.x
         Environment: .NET in (at least) da-DK culture
            Reporter: Niels Kühnel
             Fix For: Lucene.Net 2.9.2, Lucene.Net 2.9.4, Lucene.Net 3.x


I've been hunting a weird bug for a long time. I finally found it's cause.
I'm Danish, thus my .NET culture is "da-DK". In this culture "Gaard", doesn't start with "Ga"
because it thinks that "aa" is "å" (in Danish it was before 1948).
That gives some unexpected results when doing prefix queries.

The solution is to add StringComparison.InvariantCulture in all StartsWith comparisons.

To verify my claim, try running:

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("da-DK");
Assert.IsFalse("Gaard".StartsWith("Ga"));
Assert.IsTrue("Gaard".StartsWith("Ga", StringComparison.InvariantCulture));

Cheers,
Niels Kühnel

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message