2013-11-24 3 views

答えて

11

npmのutf8モジュールを使用して、文字列をエンコード/デコードします。

+2

モジュールdidentはそれを変換することができますが、出力はまだ間違っています – Alosyius

+1

私はそれを使用しました。それは私のためにうまくいく。 –

7

私はfs.readFile()経由でテキストファイルを読み込んだとき、エンコードをUTF8に設定しようとしましたが、同じ問題がありました。私の解決策はこれです:

これは本当にÖと解釈されます。

+0

これは私のために働いた。他のすべて、ない。 UTF8モジュールがクラッシュし、文字列型の拡張が欠落しているというエラーが表示されます。インストール中にコンパイルしたいので、iConvモジュールはインストールされません。愚かなもの。 – Thraka

5

エンコードを変更する場合は、常にエンコードを変更します。だから、Mac RomanからUTF-8またはASCIIからUTF-8に行くかもしれません。

現在のソースエンコーディングとして望ましい出力エンコーディングを知ることは重要です。たとえば、Mac Romanがあり、UTF-16からUTF-8にデコードすると、文字化けするだけです。

あなたはこの記事をコードについての詳細をお知りになりたい場合は詳細の多くに行く:

What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text

node-iconvまたはiconv-liteを使用して、NPMの可能パッケージencodingを使用すると、簡単にどのソースと出力エンコーディングを指定できるようにする必要がありますあなたが欲しい:

var resultBuffer = encoding.convert(nameString, 'ASCII', 'UTF-8'); 
+0

文字列がASCII、または特に7ビットUS-ASCIIの場合、文字列はすでにUTF-8になっています。変換は全く必要ありません。あなたはまだ "Macローマ"をUTF-8に変換する必要があります。 – lwchkg

-7
var utf8 = require("./utf8") 

console.log(utf8.encode("NEAR DAGDI CHAWL")) 

//utf8.js is not working properly 
+5

この回答は潜在的に有用ですが、やや混乱します。なぜutf8.jsのコメントが機能しないのですか?それがうまくいかない場合は、なぜそれを答えて参照してください?それがうまくいけば、なぜコメント? :) – SilverSkin

+0

私は '今'であることを意味していないかもしれないと思いますか? –

関連する問題