作品:
SET lc_time_names='en_US';
失败并显示“变量‘lc_time_names’无法设置为‘de_DE’的值”:
SET lc_time_names='de_DE';
这对我来说似乎很简单。我想,我必须安装该语言环境,但没有搜索“mariadb install locale”或“mariadb add locale”返回任何有用的信息。所以我认为可用的语言环境可能与操作系统有关。我使用的是 macOS,所以locale -a
列出了很多语言环境,其中包括“de_DE”。
我使用该区域设置运行完全相同的数据库没有问题,但必须更新 macOS 并通过brew install [email protected]
. 这更新的不仅仅是 php。之后,错误出现了。
我设法制作了这个。执行时,
SET lc_time_names='de_DE';
我立即在服务器日志中收到以下错误:我发现它影响某些语言环境名称而不影响其他语言环境名称的方式很奇怪。
我通过添加配置选项纠正了这个问题
lc-messages-dir=PATH_TO_ERRMSG.SYS/share/english
。我不完全确定 brew 安装它的位置,但它可能在/usr/local
.ABI 错误
locales.so
可能表明 MySQL 或其他 MariaDB 服务器存在一些遗留问题,这可以解释lc-message-dir
.