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

Reply via email to