阻止Eclipse中Maven更新修改编码配置
.settings/org.eclipse.core.resources.prefs编码自动变更的问题 我之前也碰到过一模一样的困扰——明明在Eclipse全局偏好里把编码设成了ISO-8859-1,可每次Git更新项目后,这个配置文件的编码总会自动跳成UTF-8。折腾了好一阵,总结出几个亲测有效的解决办法,你可以挨个试试:
锁定项目级别的编码设置
全局编码经常会被项目自身的配置覆盖。右键你的项目 →Properties→Resource,在Text file encoding区域选择Other,指定为ISO-8859-1,勾选Apply to all sub-folders and files,最后点击Apply and Close。这样项目内所有资源(包括.settings下的配置文件)都会统一遵循这个编码规则。用Git属性强制指定文件编码
Git本身可能在拉取或合并操作时自动转换文件编码。你可以在项目根目录创建/编辑.gitattributes文件,添加以下内容:.settings/org.eclipse.core.resources.prefs text encoding=ISO-8859-1这个配置会告诉Git始终用ISO-8859-1编码处理该文件,杜绝自动转换的情况。保存后把
.gitattributes提交到仓库,后续更新就不会再乱改编码了。修正Eclipse内容类型的默认编码
.prefs属于Eclipse的属性文件类型,单独的工作区编码可能没覆盖到这个类型。打开Window→Preferences→General→Content Types,展开Text找到Properties File,在Default encoding输入框填入ISO-8859-1,点击Update后保存设置。这会强制所有属性文件使用指定编码。可选:把该文件排除在Git追踪外
如果这个文件的编码变更对项目功能没影响,最简单的办法就是不让Git管它。在项目根目录的.gitignore文件里加一行:.settings/org.eclipse.core.resources.prefs提交
.gitignore后,Git就会忽略这个文件的任何变更,自然不会再出现编码冲突的问题。
内容的提问来源于stack exchange,提问作者João Pedro Raldi

