Rumah > Artikel > Operasi dan penyelenggaraan > Bagaimana untuk menyelesaikan kod docker nginx yang kacau
Penyelesaian Docker+Nginx kepada masalah kod bercelaru
Dalam pembangunan harian, kami sering menggunakan Docker untuk menggunakan aplikasi kami, dan Nginx, sebagai pelayan web yang sangat baik, juga telah digunakan secara meluas dalam aplikasi Docker. Walau bagaimanapun, apabila menggunakan Nginx untuk menggunakan aplikasi, kadangkala kita menghadapi aksara Cina yang kacau-bilau atau aksara bukan ASCII yang lain, yang sangat menyedihkan. Artikel ini akan memperkenalkan cara menyelesaikan masalah Docker + Nginx yang bercelaru dan menjadikan paparan tapak web anda lebih jelas dan tepat.
Dalam Docker, kita perlu menetapkan tempat yang betul supaya Nginx boleh menghuraikan aksara Cina dengan betul. Tetapan persekitaran Cina sistem pengendalian biasa adalah seperti berikut:
Walau bagaimanapun, dalam Docker, memandangkan imej dibina berdasarkan imej asas (seperti Ubuntu), tempat imej asas tidak boleh diubah suai secara langsung. Pada masa ini, kita boleh menukar tempat dalam Docker dengan menambahkan kod skrip berikut pada fail Docker:
# 设置中文环境 RUN apt-get update && \ apt-get install -y locales && \ sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/' /etc/locale.gen && \ echo 'LANG="zh_CN.UTF-8"'>/etc/default/locale && \ dpkg-reconfigure --frontend=noninteractive locales && \ update-locale LANG=zh_CN.UTF-8
Kod di atas akan menetapkan tempat dalam Docker kepada bahasa Cina, supaya Nginx boleh menghuraikannya dengan betul dalam bahasa Cina watak.
Selain tetapan setempat dalam Docker, kami juga perlu menetapkan pengekodan aksara dalam Nginx supaya Nginx boleh memaparkan aksara Cina dengan betul. Dalam fail konfigurasi Nginx, kita boleh menambah kod berikut:
http { charset utf-8; ... }
Kod ini akan menetapkan pengekodan aksara kepada UTF-8 untuk memastikan Nginx boleh memaparkan aksara Cina dengan betul. Jika anda menggunakan set aksara lain, anda perlu menggantikan unicode dengan nama set aksara yang sepadan.
Dalam Nginx, sumber statik (seperti imej, JS, CSS) mungkin juga mempunyai aksara yang bercelaru. Pada masa ini, kita perlu menetapkan set aksara yang betul untuk sumber statik dalam fail konfigurasi Nginx. Kami boleh menambah kod berikut:
http { ... charset utf-8; location ~* \.(jpg|jpeg|gif|png|bmp|icon|css|js|swf|svg)$ { charset utf-8; } ... }
Kod ini akan menetapkan pengekodan aksara untuk sumber statik kepada UTF-8 untuk memastikan Nginx boleh memaparkan aksara Cina dalam sumber statik dengan betul.
Akhir sekali, dalam dokumen HTML, kita juga perlu menetapkan pengekodan aksara yang betul supaya Nginx boleh memaparkan aksara Cina dengan betul. Kita boleh menambah kod berikut di kepala dokumen HTML:
<head> <meta charset="utf-8"> ... </head>
Kod ini akan menetapkan pengekodan aksara dokumen HTML kepada UTF-8 dan memastikan Nginx boleh memaparkan aksara Cina di dalamnya dengan betul .
Ringkasan
Artikel ini memperkenalkan cara menyelesaikan masalah aksara Cina Docker + Nginx yang kacau, termasuk tetapan persekitaran Cina Docker, tetapan pengekodan aksara Nginx, tetapan set aksara sumber statik Nginx dan aksara dokumen HTML tetapkan tetapan. Dengan mengikuti langkah-langkah di atas, kami boleh menyelesaikan masalah aksara Cina yang kacau-bilau dengan mudah dalam Docker + Nginx dan menjadikan tapak web kami lebih jelas dan tepat.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan kod docker nginx yang kacau. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!