从OS X中的/ usr / local / share / locale加载语言环境


1

在OS X 10.10中导入PostgreSQL数据库时,出现了“无效的区域设置名称:en_US.utf8”之类的错误。我去了/usr/share/locale并将文件夹复制en_US.UTF-8en_US.utf8。好的,问题解决了。

但我知道由于“无根模式”,这个解决方案在OS X 10.11中不起作用。我无法修改/usr/share/locale

有没有办法加载这个文件夹/usr/local/share/locale?我试图复制en_US.utf8到该目录,但它无法正常工作。


您是否在
2015年

不,除非没有别的办法,否则我不愿意这样做。系统完整性保护总体上很好。
Jan KS 2015年

你可以禁用,然后做你的东西,然后重新启用它。
At 0mic 2015年

我会用它作为最后的手段。我不确定Apple是否会在下次更新时重置/ usr / share / locale,迫使我重复此过程。
Jan KS

Answers:


1

我现在的解决方案是在转储文件中用“en_US.UTF-8”替换字符串“en_US.utf8”。由于该文件在我的情况下被压缩(因此是二进制格式),因此必须在原始行中保持相同数量的字符。所以我删除了几个白色空间,转换

(...) LC_COLLATE = 'en_US.utf8' LC_CTYPE = 'en_US.utf8' (...)

(...) LC_COLLATE= 'en_US.UTF-8' LC_CTYPE= 'en_US.UTF-8' (...)

在我的导入脚本中执行此操作的perl命令是

perl -pi -e "s/LC_COLLATE = 'en_US.utf8'/LC_COLLATE= 'en_US.UTF-8'/g" myDumpFilePath
perl -pi -e "s/LC_CTYPE = 'en_US.utf8'/LC_CTYPE= 'en_US.UTF-8'/g" myDumpFilePath

#taketheblowonthehead类似的问题,但我试图恢复47GB PG_DATA目录
Andrew Wolfe
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.