2

input-type-fileとFileReader.readAsText()を使用してローカルテキストファイルを読み取っています。この問題は、ローカルテキストファイルにÜのような文字が含まれている場合に発生します。その場合、それはï¿に変換されます。もちろん、FileReader.readAsText(File、encoding)のパラメーターとして手動でiso8859-1にエンコードを設定することもできますが、ユーザーがどのようなエンコードを設定したのかわかりません。

私の質問は、クライアントマシンでエンコーディングを決定するオプションがあるかどうかです。

よろしくkkris1983

4

1 に答える 1

3

エンコーディングが何であるかを推測するには、テキスト ファイルの未加工のバイナリを分析する必要があります。JavaScript AFAIKにはこれのためのライブラリはありませんが、他の言語から移植することができます。

これはあまり堅牢ではないため、次のような手動オーバーライドも提供する必要がありますCharacters not showing correctly? Change encoding:

また、ウエスタン Windows マシンを検出した場合は、ISO-8859-1 などのスマートなデフォルトを設定することもできます。

于 2012-04-26T17:29:26.270 に答える