标签: cultureinfo

如何处理iOS SQLite中的重音字符?

我需要执行对case和accents不敏感的SELECT查询.出于演示目的,我创建了一个这样的表:

create table table
(
  column text collate nocase
);

insert into table values ('A');
insert into table values ('a');
insert into table values ('Á');
insert into table values ('á');

create index table_cloumn_Index
  on table (column collate nocase);
Run Code Online (Sandbox Code Playgroud)

然后,我在执行以下查询时得到这些结果:

SELECT * FROM table WHERE column LIKE 'a';
> A
> a

SELECT * FROM table WHERE column LIKE 'á';
> á

SELECT * FROM table WHERE column LIKE 'Á';
> Á
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题,以便以下任何查询的结果如下:

> A
> a
> Á
> á …
Run Code Online (Sandbox Code Playgroud)

sqlite cultureinfo diacritics ios

12
推荐指数
1
解决办法
6259
查看次数

CultureInfo&DateTimeInfo:如何检查是否是24小时?

我正在修改一个全球化的Web应用程序,它为每个登录用户使用存储的CultureInfo.

客户希望时间数据输入被本地化.显示不是问题,因为格式化已经可用.但是我需要检测当前cultureinfo是24小时还是上午/下午所以我可以显示正确的输入框(而不仅仅是文本字段).

我最初的想法是检查CultureInfo的DateTimeInfo属性,看看ShortTimePattern是否包含大写H或小写h,但这对我来说不够强大.

有没有更好的办法?我已经阅读了两者的类属性,但除非我遗漏了什么,否则我看不到任何现有的方法或属性.

c# globalization cultureinfo

11
推荐指数
3
解决办法
4165
查看次数

如何从CultureInfo中的属性获取时区

我有一个字符串,其中包含一个时间戳(yyyy-mm-dd hh:mm:ss).我可以CultureInfo根据我得到的其他信息创建一个对象.因此,我知道时间戳所在的国家/地区.时间戳不是UTC/GMT.

假设时间戳来自Indonesia (new CultureInfo("id-ID")),意味着该字符串是由下面的代码或类似代码创建的.

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
Run Code Online (Sandbox Code Playgroud)

这意味着该字符串包含印度尼西亚当地时间.我知道我的时区,但我不知道如何将印度尼西亚时间转换为UTC/GMT,所以我可以使用UTC/GMT对象TimeZoneInfo.我自己的时区可能在同一时区,也可能不在同一时区.

有没有,这个信息是连接的?

CultureInfo 有很多属性,肯定有些属性可以用来获得时区,somwhere?

我可能会补充一点,我发现整个系统非常混乱,所以我觉得我认为事情是如何运作的.

c# timezone cultureinfo

11
推荐指数
1
解决办法
9143
查看次数

为什么我的CurrentCulture en-GB和我的CurrentUICulture en-US

我有一个C#应用程序,必须在具有不同文化设置的计算机上运行.没问题,我想,它只会查找启动当前文化在机器上的内容,并为我做一切.好吧不,它会让事情变得不对劲.

我有一台Windows XP机器,区域和语言选项中的所有内容都设置为英语,但是当我的应用程序启动时,它报告我的CurrentCultureen-GB和我CurrentUICultureen-US.

如何让我的程序只使用PC设置的任何内容?

如果它有任何区别,这是一个Windows服务应用程序.

谢谢

c# globalization cultureinfo

11
推荐指数
1
解决办法
4390
查看次数

多语言站点的SEO含义与系统文化的检测

我在ASP.NET中开发了一个多语言站点,它可以检测用户的系统文化,并以适当的语言显示内容.

这一切都运作良好,但我的客户已经有一个SEO审计.SEO机构表示担心这不是一个好的SEO实践,因为每种语言都没有唯一的URL.

他们建议该网站可能被指控隐藏,并且谷歌可能无法为每种不同的语言正确索引网站.

关于这些是否是有效问题的任何想法,以及是否有为网站的每个语言版本提供唯一URL的优势?

asp.net multilingual seo cultureinfo

11
推荐指数
1
解决办法
1773
查看次数

CultureInfo线程安全

我有一个解决一些文本的多线程应用程序,它需要使用英文文化信息来解析这个文本中的数字.所以,我不想每次调用解析函数时都创建EngCulture.目前我正在将EngCulture作为参数传递,但我对此并不满意.我想将EngCulture定义为静态成员,因此它将由线程共享.

Msdn文档说"这种类型的任何公共静态(在Visual Basic中共享)成员都是线程安全的.任何实例成员都不能保证是线程安全的." 我只是使用以下函数,所以我怎么知道TryParse是否使用EngCulture的任何实例成员?

public static CultureInfo EngCulture = new CultureInfo("en-US", false);

void parser()
{
    if (int.TryParse(value, NumberStyles.Number, EngCulture, out num))...
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading cultureinfo thread-safety

11
推荐指数
1
解决办法
1944
查看次数

如何制作所有文化的下拉列表(但没有重复)

我正在尝试制作2个下拉列表.

最上面的一个提供所有文化,(但没有重复).示例:英语,西班牙语,菲律宾语

从顶部列表中选择后,底部列表将显示任何特定类型.

我现在用这个代码作为我的顶级名单.

foreach (CultureInfo cultureInfo in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
Run Code Online (Sandbox Code Playgroud)

然而,它并不显示菲律宾语(菲律宾) 我宁可不使用GetCultures(CultureTypes.AllCultures)),因为它显示了太多的一次.

看起来我可能需要将NeutralCultures加载到IList中.然后遍历AllCultures以确保它的ThreeLetterISOLanguageName在列表中,如果不添加它.

有一个最好的做法吗?

谢谢

c# asp.net globalization cultureinfo

11
推荐指数
1
解决办法
1万
查看次数

为什么英语(加勒比海)的文化名称为"en-029"?

为什么英语(加勒比海)的文化名称为"en-029"?

我知道"en-CA"用于英语(加拿大),但为什么029?它意味着什么?为什么选择它?

.net c# culture cultureinfo

11
推荐指数
1
解决办法
2329
查看次数

文化不变对象ToString()

如何调用ToString()对象并使其使用不变文化?在ToString()实现的对象上有重载IConvertible(比如bool,int,float ..),但如果有问题的对象怎么IConvertible办?

.net formatting culture cultureinfo

11
推荐指数
2
解决办法
5036
查看次数

根据链接MVC4更改文化

我对MVC中的文化变化有好奇心.我试过两种方式,但显然我错了.

在我的Web.config中,我有:

 <globalization uiCulture="auto" culture="auto" />
Run Code Online (Sandbox Code Playgroud)

这就是我试图改变线程文化的方式:

 <li>@Html.ActionLink("Eng", "ChangeCulture", "Home", new { lang="en-US"}, new { @class = "languageSelectorEnglish" })</li>
Run Code Online (Sandbox Code Playgroud)

第一种方法

我有以下控制器:

    public void ChangeCulture(string lang)
    {
        Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(lang);
        Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang);

        Response.Cookies.Remove("Language");
        var langCookie = new HttpCookie("Language");
        langCookie["Language"] = lang;
        langCookie.Value = lang;
        langCookie.Expires = System.DateTime.Now.AddDays(21);
        Response.Cookies.Add(langCookie);

        Response.Redirect(Request.UrlReferrer.ToString());
    }
Run Code Online (Sandbox Code Playgroud)

第二种方法

    public ActionResult ChangeCulture(string lang)
    {
        Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(lang);
        Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang);

        // Split the url to url + query string
        var fullUrl= Request.UrlReferrer.ToString();
        var questionMarkIndex = fullUrl.IndexOf('?');
        string queryString …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc cultureinfo asp.net-mvc-4

11
推荐指数
1
解决办法
9106
查看次数