遇到的问题
有一个php开发的网站项目,本地开发环境是win10,近日准备部署在另一台电脑时出了问题,用于部署的电脑操作系统也是win10。但是部署完成后,发现一些图片在浏览器页面上无法显示。
问题分析
开发环境与部署环境都是win10,为什么在开发机上可以正常工作的页面,到了部署机上就出了问题呢?排除了部署过程中的一些常规错误,比如数据库表,资源文件夹,都正常。最后经过检查,发现这些不能显示的图片的存放路径中包含中文字符。因此做出判断,这是由于中文路径名造成的问题。找到了问题,就要考虑解决的办法
1 规定不许在存放图片等目录的路径中出现中文字符,但是现在系统已经开发完成了,再来做这个规定有些晚了,并且我个人也不主张对中文的使用采取一种逃避的态度。
2 修改源代码,对路径做编码转换。可是在开发机上并不需要做编码转换,为什么换了一个机器就要做编码转换,并且实在要做转换的话,要修改的地方也不少
3 让部署的机器的编码环境尽可能与开发机一致,这一解决方案后来被证明是最简洁的。
问题的解决
设置要部署的计算机上win10操作系统的系统默认编码为utf-8
设置步骤如下
点击桌面左下角的“开始”按钮
在弹出的“搜索”框中输入“更改国家”
点击上方的“更改国家或地区”链接,
点击“管理语言设置”
点击“管理”
点击“更改系统区域设置”
在弹出的区域设置对话框中勾选“Beta版:使用Unicode UTF-8 提供全球语言支持”
根据系统提示,重启电脑。问题解决。