浏览器打开 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>

我的开源项目

酷瓜云课堂-开源知识付费解决方案


鸠摩智首席音效师
472 声望9 粉丝

身强体健,龙精虎猛的活着。