Apache - 文件不使用 UTF-8 发送
Apache - file not send with UTF-8
在我的 Android 应用程序中,我需要通过网络访问 JSON 文件。因此我使用截击。它工作得很好,但特殊字符显示错误。
JSON 文件通过 apache 运行 存储在我的服务器上。我以为我已经通过编辑 httpd.conf
和添加
解决了问题
AddCharset UTF-8 .json
它在我第一次使用我的应用程序访问文件时显示特殊字符。但第二次特殊字符再次未知。
当我连接到我的服务器并编辑和保存文件(或多或少有一些空格)时,第一次再次工作,但第二次没有。
我使用存储在 Dropbox 中的文件测试了该应用程序,它运行得非常好,所以问题一定是我的服务器。
我以前从未使用过 Apache,所以我不知道该去哪里找什么。
好的,我自己查出来的。跟cachecontrol有关系。因为文件没有改变,我不知何故没有得到正确的文件,特殊字符被弄乱了。
为了解决这个问题,我通过添加禁用了 apache 中的缓存:
FileETag None
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
进入 /etc/apache2/httpd.conf 文件。
要使用页眉,您还必须输入
sudo a2enmod headers
进入您的终端。
之后,重新启动您的 Apache,它现在应该会忽略所有缓存。
在我的 Android 应用程序中,我需要通过网络访问 JSON 文件。因此我使用截击。它工作得很好,但特殊字符显示错误。
JSON 文件通过 apache 运行 存储在我的服务器上。我以为我已经通过编辑 httpd.conf
和添加
AddCharset UTF-8 .json
它在我第一次使用我的应用程序访问文件时显示特殊字符。但第二次特殊字符再次未知。 当我连接到我的服务器并编辑和保存文件(或多或少有一些空格)时,第一次再次工作,但第二次没有。
我使用存储在 Dropbox 中的文件测试了该应用程序,它运行得非常好,所以问题一定是我的服务器。
我以前从未使用过 Apache,所以我不知道该去哪里找什么。
好的,我自己查出来的。跟cachecontrol有关系。因为文件没有改变,我不知何故没有得到正确的文件,特殊字符被弄乱了。
为了解决这个问题,我通过添加禁用了 apache 中的缓存:
FileETag None
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
进入 /etc/apache2/httpd.conf 文件。
要使用页眉,您还必须输入
sudo a2enmod headers
进入您的终端。
之后,重新启动您的 Apache,它现在应该会忽略所有缓存。