草庐IT

setlocale

全部标签

c - 设置语言环境后,scanf-printf 调用会弄乱非 ASCII 字符

我想知道为什么非ASCII本地输入输出失败:setlocale(LC_ALL,"");scanf("%s",buffer);//Itype"příšerně"printf("%s",buffer);//Iget"pýˇçernŘ"语言环境是Czech_CzechRepublic.1250,所有非ASCII字符(říšě)都在CP1250中。为什么会失败?Thereference说In(),formattedinput/outputoperationsareaffectedbycharactertransformationrules.使用默认的“C”语言环境可以提供正确的输出。如何解决?

PHP:Windows 7 中的 setlocale

我在Windows7的PHP5.3中遇到setlocale函数的问题。我需要使用UTF-8编码设置俄语语言环境。我看到一些解决方案,其中this是Russian_Russia.65001,但具有此类语言环境的函数返回FALSE。所有解决方案都是为在WindowsXP中使用而设计的,其中区域设置列表位于控制面板中。在Windows7中,此功能已被删除。 最佳答案 It'snotpossibletouseUTF-8localesonwindowssystems.:IfyouprovideacodepagelikeUTF-7orUTF-8

php - Unicode setlocale 和 strftime 在 Windows 上失败

我有一个页面,它的编码是UTF-8,如果我尝试在unix系统中运行该代码,一切看起来都很好,但是当我尝试在windows(7)中运行时,一些字符看起来是问号(�)。如何在两个系统上都运行良好的代码(不使用iconv)。header('Content-Type:text/html;charset=UTF-8');setlocale(LC_ALL,'turkish');echostrftime("%d%B%Y,%H:%M"); 最佳答案 MicrosoftWindows不支持UTF-8语言环境。因此,如果您提供土耳其语言环境,它会显示一

python - locale.setlocale(LC_NUMERIC) : how to make it work on Windows

我在Win10下。这是我的小脚本:importlocalelocale.setlocale(locale.LC_NUMERIC,"rus")printlocale.localeconv()fv=2.5printstr(fv)这会打印出:{'mon_decimal_point':'','int_frac_digits':127,'p_sep_by_space':127,'frac_digits':127,'thousands_sep':'\xa0','n_sign_posn':127,'decimal_point':',','int_curr_symbol':'','n_cs_prece

PHP setlocale(LC_MONETARY, 'en_US') 没有按预期工作

我执行以下代码:setlocale(LC_MONETARY,'en_US')echomoney_format('%(!n',1000)我希望得到1,000.00,但我得到了1000.00。没有逗号我做错了什么? 最佳答案 请在您的终端中尝试locale-a。在我的例子中,我发现我安装了en_US.utf8而不是en_US。setlocale(LC_MONETARY,'en_US.utf8');使用DOTENV之类的东西在运行代码的任何机器上加载正确的语言环境设置可能是个好主意:setlocale(LC_MONETARY,env('L

php - Laravel 将 setlocale 与 carbon 一起使用的最佳方式

我是laravel框架和OOP的新手。我正在构建一个小型网络应用程序。每次在网站上返回的内容之一就是今天的日期。为了生成今天的日期,我像这样使用Carbon{{car​​bon\carbon::today()->formatLocalized('%d%B%Y')}}在我看来。效果很好,并返回以下信息:“2017年3月1日”。因为我的应用程序假设是荷兰语,所以我搜索了一个将日期设置为荷兰语的函数。我发现了这个:setlocale(LC_ALL,'nl_NL');除了我必须将它添加到我用于需要日期的View的每个Controller方法之外,它工作得很好。是否有更好/更清洁的解决方案?就像

php - Gettext 和 PHP 5.3.5 xampp - 使用未定义常量 LC_MESSAGES - 假设 'LC_MESSAGES' in

我收到以下错误:Notice:UseofundefinedconstantLC_MESSAGES-assumed'LC_MESSAGES'inC:\ProgramFiles\xampp\htdocs\xampp\phptest\resources\testi18n.phponline19Notice:Undefinedindex:languageinC:\ProgramFiles\xampp\htdocs\xampp\phptest\resources\testi18n.phponline19Deprecated:setlocale()[function.setlocale]:Pass

php - 拉维尔;如何使 setLocale 永久化?

我有我的家路线Route::get('/','HomeController@index')->name('home');以及更改语言的特定途径Route::get('/setLocale/{locale}','HomeController@setLocale')->name('setLocale');在HomeController->setLocale($locale)中,我检查$locale是否是一个有效的语言环境,然后简单地做\App::setLocale($locale);然后重定向到主页。在这里,在HomeController->index()中,我使用验证语言环境$local

php - date_default_timezone_set 是否遇到与 setlocale 相同的过程问题?

date_default_timezone_set是否和php手册中定义的setlocale有同样的问题?localeinformationismaintainedperprocess,notperthread日期默认时区设置问题是否相同 最佳答案 根据PHP5.3.6的源代码,它是一个线程安全函数。 关于php-date_default_timezone_set是否遇到与setlocale相同的过程问题?,我们在StackOverflow上找到一个类似的问题:

php - 在 Laravel 中为日期配置荷兰语格式

在我的Laravel应用程序中,想要以荷兰语格式显示日期。在我的config/app.php文件中,我同时设置了时区和语言环境:'timezone'=>'Europe/Amsterdam','locale'=>'nl',但是如果我像这样在Blade文件中打印日期:strftime('%a%e%b',strtotime($day->date))它仍然没有以荷兰语格式显示。当我在相关Controller的构造函数中调用setlocale()方法时它起作用。setlocale(LC_TIME,'NL_nl');我如何全局设置它或在我的配置中定义它? 最佳答案