漢字リストを抽出しようとしています。https://lingua.mtsu.edu/chinese-computing/statistics/char/list.php?Which=MOBashスクリプトを作成します。しかし、私が走るとき
curl -o list.txt https://lingua.mtsu.edu/chinese-computing/statistics/char/list.php?Which=MO
私はカールがWebサイトで使用しているGB2312エンコーディングの代わりにUTF-8エンコーディングを使用して、中国語の文字をランダムな文字に置き換えることを発見しました。だから私の質問は次のとおりです。 HTMLをダウンロードするために使用されるエンコーディングカールをどのように変更しますか?
出力
curl --version
curl 8.0.1 (x86_64-pc-linux-gnu) libcurl/8.0.1 OpenSSL/3.0.8 zlib/1.2.13 brotli/1.0.9 zstd/1.5.5 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) libssh2/1.10.0 nghttp2/1.52.0
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
CharConv
(マンページに記載されている機能が欠落していることがわかりました。)
答え1
ここに混乱する点があります。
ファイルには、実際に受信したものとまったく同じバイトのみが含まれます。curl
変換は行われません。実は違う表示方法これらのバイトを解釈するために別のエンコーディングを選択するファイルは、カールとは何の関係もありません!
ブラウザがサイトに初めてアクセスすると、使用するエンコードを示すHTTPヘッダーを受信できます。ヘッダーはコンテンツの一部ではないため、HTMLを含むファイルに保存することはできません。