在Ubuntu

时间:2018-01-19 21:41:01

标签: ubuntu utf-8 locale ubuntu-16.04

我已将项目上传到ubuntu服务器(16.04) 我的项目是用PHP编写的,我有一些页面,语言的语言环境设置非常重要。一切都在我的本地服务器上运行良好,但日期月份名称在远程服务器上输出错误(详情请点击此处: Ubuntu Php Locale ru_RU not working

我认为这个错误是由于我的本地服务器使用的是与远程服务器不同的语言环境。在PHP中,

  

setlocale()的返回值取决于PHP所在的系统   运行。它返回系统setlocale函数返回的确切内容   php setlocale() manual

此代码应显示系统默认语言环境:

<?php 
dd(setlocale(LC_ALL, ""));
?>

输出:

  • 本地服务器:“ru_RU.UTF-8”
  • 远程服务器:“C”

我已将远程服务器上的etc / default / locale编辑为LANG = ru_RU.UTF-8,但它没有帮助。

如何将我的Ubuntu默认语言环境更改为ru_RU.UTF-8?

1 个答案:

答案 0 :(得分:0)

问题在于语言环境&#ru; RU.UTF&#39;在我的本地开发服务器和远程服务器(UBUNTU)上完全不同。我无法将语言环境从本地导入到远程,所以我只是创建了一个解决方法。

public static function convert($str) {


  $rus = array('/январь/ui', '/февраль/ui', '/март/ui', '/апрель/ui', '/май/ui', '/июнь/ui', '/июль/ui', '/август/ui', '/сентябрь/ui', '/октябрь/ui', '/ноябрь/ui', '/декабрь/ui');
  $lat = array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');
  return preg_replace($rus, $lat, $str);

  }