-
ID:1jui0k さんの質問

html5のfilesystem apiでユーザーが保存したcsvファイルをwindowsで開くと文字化けしちゃうみたいなんですが、どうすれば文字化けしないようにできますか?

プログラムを書いた時に使ったのはMacです。

みんなの回答 3 件

ID:S.4xHc さんの回答

文字コードを指定できるエディタで開くといいと思う

ID:3T62UF

文字コード変えても文字化け直らなかったと言われましたね。

ID:RzVyde さんの回答

ダブルクリックでExcelで開こうとしてるなら、文字コード変換したあとに保存させるしかないんじゃないかな。

JavaScriptでも文字コード変換できるライブラリがあったはず

ID:3T62UF

なるほど。ありがとうございます。文字コード変換のライブラリは以前使ったことがありました。そちらでUTF-8にして保存すればよいんですかね。プログラムを書いたエディターではUTF-8で書いていて、htmlの文字コード指定もutf8だったのですが、改めて変換の必要があるということなのでしょうか?

その辺の仕組みがいまいち分かってないです。。。

ID:RzVyde

WindowsのExcelのCSVの仕様を確認しましょう。

たぶん、SJISだから。

ID:1jui0k

なるほど。ありがとうございます。とりあえずos判定してwinの場合はsjisに変換するようにしてみます。それにしても、ソフトによって文字コードが変わるのであれば絶対的な解決策はなさそうですね。

ID:RzVyde

Open officeとかだと開く時に文字コード確認して目視で読めるか確認する画面出して変換してくれるんだよね。

文字コードOSで固定というより候補並べてレコメンドの方がいいんだと思う。

ID:1/bq1W さんの回答

ExcelはCSVはSJISじゃないと読めない。と思われてるが、実はUTF-8でもBOMがあれば読める。書きだす前に最初にBOMを書き込めばいい。あとWinとMacは改行コードが違うので、そのへんも注意した方がいいっぽい。

ID:1jui0k

ありがとうございます。バイナリデータをいじらないといけないのですかねー。ちょっとよく調べないと難しそうですね。。

最終更新日:2014-09-15 (2,745 views)

関連するトピックス

ページ上部に戻る