前提・実現したいこと
axiosで取得したSHIFT_JISでエンコードされたプレインテクストがコンソールでちゃんと表示されないので、エンコードをUTF-8に変更したい。
発生している問題・エラーメッセージ
文字化けが発生してる。
iconv等ググって見つかったやり方を試しているが、文字化けが全く治らない。
該当のソースコード
javascript
1(ひとつめ) 2 const axios = require('axios'); 3 const iconv = require('iconv-lite'); 4axios.get("http://awabi.2ch.sc/news4plus/subject.txt").then(res => { 5 const text = res.data 6 const buf = new Buffer(text, "SHIFT_JIS") 7 const str = iconv.decode(buf, "UTF-8") 8 console.log(str) 9})
javascript
1(ふたつめ) 2 const axios = require('axios'); 3 const jconv = require('jconv'); 4 axios.get("http://awabi.2ch.sc/news4plus/subject.txt").then(res => { 5 const text = res.data 6 const convert = jconv.convert(res.data, "SJIS", "UTF8") 7 console.log(convert) 8 const text2 = jconv.decode(convert, "UTF") 9 console.log(text2) 10 }).catch(e => {console.log(e)}) 11})
試したこと
他にもいろいろ試しましたが、ダメでした。
補足情報(FW/ツールのバージョンなど)
試した環境
ローカル環境のWindows10でNodeJS最新版
DigitalOceanのUbuntuマシン
など
最後に
お忙しいなか、ありがとうございます。
よろしくお願いいたします。
###解決しました
すみません、解決しました。
axiosが取得したデータをUTF-8であると勝手に決めつけて、デコードしてしまっていたようです。
StackOverflowのこれで解決しました。
https://stackoverflow.com/questions/12040643/nodejs-encoding-using-request
みなさん、ご知見を共有していただきありがとうございました。

回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。