diff --git a/windows.md b/windows.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7666b8fd03fbfc4c012464a3ef305b027a244bf6 100644 --- a/windows.md +++ b/windows.md @@ -0,0 +1,16 @@ +## 如何解决php从myql读取数据中文变成问号问题 + +### 问题分析 +导致变成中文变问号的原因在于此时mysql.5.6默认字符集是latin1,而我们的php对代码的解析为utf8。这就像两个人对话一样,对方和我们说的是英语,但是我们却把它当成的中文来听,所以听不懂就是再正常不对的事情了。 + +为了解决这个默认为latin1的问题,其实在[docker\mysql5.6\custom.cnf](docker\mysql5.6\custom.cnf)中是进行了把默认字符改成utf8的改写。 + +同时由于在windows中的权限默认为 `全局可写` ,这直接导致了mysql这个docker容器认为我们改写的custom.cnf并不安全,所以mysql直接忽略了custom.cnf这个配置文件,当然也同步忽略了我们在其设置的将默认字符编码变更为utf8的设置。 + +### 将[docker\mysql5.6\custom.cnf](docker\mysql5.6\custom.cnf)设置为只读 +打开 `docker\mysql5.6` 文件夹,在 `custom.cnf` 点右键 -> 属性 -> 只读 + +### 重启(启动)docker容器 +如果你当前已经启动了docker容器,那么需要先执行`docker compose down`来停止原容器。 + +接下来我们启动容器即可。 \ No newline at end of file