macOS High Sierra SMB共享搜索文件名显示问号问题求助
解决macOS High Sierra SMB共享搜索文件名显示"?"及类型栏乱码问题
我之前碰到过完全一样的问题,帮同事解决过,给你几个亲测有效的解决思路:
1. 重启Finder与SMB客户端服务
有时候只是临时的缓存或进程异常导致的,先试试这个最基础的操作:
- 强制退出Finder:打开
活动监视器,找到「Finder」进程,点击左上角的叉号选择「强制退出」;或者直接在终端输入:killall Finder - 重启SMB客户端服务,终端依次输入(需要管理员密码):
sudo launchctl stop com.apple.smb.client sudo launchctl start com.apple.smb.client - 之后重新打开Finder,再搜索SMB共享文件试试。
2. 修改SMB字符编码配置
High Sierra对SMB的字符编码处理比Sierra更严格,大概率是编码不匹配导致的乱码和问号问题。我们可以手动指定兼容的编码:
- 打开终端,输入命令编辑SMB配置文件:
sudo nano /etc/nsmb.conf - 在文件中添加以下内容(如果文件为空就直接写,已有内容就追加到末尾):
如果你怀疑是日文编码导致的类型栏乱码,可以把编码改成:[default] charsets=ISO-8859-1,UTF-8[default] charsets=Shift_JIS,UTF-8 - 按
Ctrl+O保存文件,按Ctrl+X退出编辑器。然后重复步骤1的重启SMB服务和Finder操作。
3. 重置Finder偏好设置
Finder的偏好文件损坏也可能导致搜索显示异常:
- 先强制退出Finder(方法同步骤1)。
- 在终端输入命令删除Finder的偏好文件:
rm ~/Library/Preferences/com.apple.finder.plist - 重新打开Finder,系统会自动生成新的偏好文件,再测试搜索功能。
4. 检查共享服务器的编码设置
如果上面的方法都无效,可能是共享端(比如Windows服务器、NAS)的SMB编码设置问题:
- 若共享端是Windows,进入「控制面板 > 区域 > 管理」,检查「非Unicode程序的语言」设置,尽量和你的macOS系统语言(英文)保持一致,或者设置为UTF-8兼容的编码。
- 若共享端是NAS,登录后台找到SMB服务的设置,确保启用了UTF-8编码支持。
补充说明
这个问题本质是High Sierra对SMB协议的字符编码解析逻辑做了调整,相比Sierra兼容性有所收紧,所以之前正常的共享在升级后出现了编码不匹配的问题。浏览时Finder用的是另一种解析逻辑,所以能正常显示文件名,而搜索时调用了更严格的编码校验,导致显示问号。
内容的提问来源于stack exchange,提问作者Morten
相关产品推荐
相关产品推荐

