浏览器打开 txt 文本文件乱码解决方案
在点击如下链接的时候,浏览器会直接打开文件,而不是下载文件。
<a href="abc.txt">点击下载</a>
问题就来了,当文件中包含中文等非ACCII编码字符,浏览器中预览就会乱码。
解决方案如下:
我们需要配置 nginx 或者 apache 服务器,明确 txt 文件的 content-type 和 charset
(1)nginx 配置
server {
listen 80;
server_name example.com;
location / {
root /path/to/your/files;
charset utf-8; # Ensure charset is specified as UTF-8
autoindex on; # Optional: enable directory listing
}
# Serve .txt files with the correct Content-Type
location ~ \.txt$ {
default_type text/plain;
charset utf-8; # Ensure charset is specified as UTF-8
}
}
(2)apache 配置
<VirtualHost *:80>
ServerName example.com
DocumentRoot /path/to/your/files
# Ensure the default charset is set to UTF-8
AddDefaultCharset UTF-8
# Configure specific file types with UTF-8 charset
<FilesMatch "\.(txt)$">
ForceType 'text/plain; charset=UTF-8'
</FilesMatch>
</VirtualHost>
我的开源项目
本文系原创,转载请注明出处
评论已关闭