読者です 読者をやめる 読者になる 読者になる

node.js で 文字エンコード変換

npm install iconv

node-iconv は、内部に libiconv のソースファイルを持ち、
インストール時にビルドし使用している。

libiconv のバージョンは、libiconv-1.14 だった。

libiconv はもともと EUCJP-WIN に対応していない。
パッチを当てて、ビルドし直す必要がある。

パッチはこちらを使用しました。
http://apolloron.org/software/libiconv-1.14-ja/

cp932の変換をマイクロソフトの変換と一致させる
cp51932(WindowsでのEUC-JP)を追加
eucJP-msを追加 (TOG/JVC CDE/Motif 技術検討 WG が策定)
iso-2022-jp-msを追加
JIS X 0201ラテン文字をUS-ASCIIと同一の変換とする
cp932, cp51932, eucJP-ms, iso-2022-jp-ms以外のJIS X 0208 1区29点 EM DASHをU+2014 EM DASHに正しく変換できるように修正

cd node_modules/iconv/deps/

wget http://apolloron.org/software/libiconv-1.14-ja/libiconv-1.14-ja-1.patch

cd libiconv/
patch -p1 < ../libiconv-1.14-ja-1.patch

iconv のルートへ移動、ビルドツールをインストールし、ビルド

cd ../../

npm install node-gyp -g
node-gyp configure build
npm install .