• 締切済み

UTF-8等のエンコードでテキストファイル書込

Windowsデスクトップアプリケーション(C++)で簡易的なアプリを作っています。[OK]をクリックするとEditコントロールに入力されたテキストがテキストファイルとして保存されますが、メモ帳で開くと文字化けします。エンコードを変えて再度読み込んだところ、読み込むことができたエンコードはUTF-16 LEでした。 UTF-8等のエンコードで書き込みすることはできるんでしょうか。

みんなの回答

回答No.2

こちらの回答が参考になるかと。 https://teratail.com/questions/127691 なお、C++で.NET Frameworkの機能を使うためには、プロジェクトをC++/CLIにする必要がありますが、現在は非推奨なうえに非常に面倒なコーディングになるため、やめたほうがいいです。

  • bardfish
  • ベストアンサー率28% (5029/17765)
回答No.1

UTF-8でテキストを保存することは可能ですよ。 .netのライブラリにそういうものがあります。 Editコントロールがどのようなものかわかりませんがネットを検索すればサンプルとして使えるものが見つかるはずです。 私は主にVB.NETを使用してわからないところや記憶が曖昧なところはネットを検索して調べます。その過程で文字コードを指定してテキストを出力するサンプルというのはたくさん目にしてきました。 そして、その過程で知ったのですがWindows10では文字コードのデフォルトはUTF-8だということ。今まではShift-JISだったので従来のやり方で文字化けしたときには軽く混乱しました。

関連するQ&A

  • Eclipseのテキストファイルエンコードがでますが・・

    パッケージエクスプローラーからソース(ファイル)を右クリックしてプロパティ→テキストファイルエンコードが出ますが、 私のeclipseには選択肢にshift/jisやwindows31jなどが選べないのですが、選択肢を増やすにはどうしたらいいでしょうか? eclipse v3.4.1です。utf-8,utf-16.iso-8859-1などでます。 importしたファイルの日本語文字化けしています。

  • テキストエディターの文字化け

    素人の者です。 これまで、PHPのプログラムの書き込みをSJISで行ってきましたが、どうもネット上を調べているうちにSJISはあまり使わないほうが良いようなことが書いてあったので、UTF-8で書くことにしようと思いました。そして、UTF-8で書いていてWEB上は特に問題なく文字化けもせず表示されるのですが、テキストエディターで再度ファイルを開くと、テキストエディター内で文字化けしていることがあります。メモ帳で開くときはファイルの文字コートをUTF-8に指定すれば文字化けしません。サクラエディターで開けば、何もしなくても文字化けしません。php_editor_stdで開けば、文字化けします。ez-HTMLで開けば、文字化けします。???とこんな具合です。テキストエディターを開くときにエンコードを指定して開けば、文字化けはしないであろうと考えて、設定の部分を色々と探していじってみても、文字化けの現象は変わりません。SJISですと、ダメ文字とかあるのでやはり切り替えていったほうが良いと思い試している最中です。テキストエディターで文字化けした場合、どのようにすれば解消するのかお分かりになる方がおりました教えていただけないでしょうか。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • エンコード

    ウィンドウズのメモ帳で作ったテキストをマックのテキストエディターで開くとエンコードが違うとの表示が出て読めない。どうしたら開けるようになるのか、教えてください。

    • 締切済み
    • Mac
  • テキストファイルが文字化けし、エンコード不能に

     システムロケールを英語(英国)に変更したら、デスクトップ上に保存していたテキストファイルが文字化けしました。日本語に戻してもそのままの状態です。  IEでファイルを開き、右クリックでエンコードを選択して日本語(シフトJIS、EUC)に変換してもうまくいきません。  Web上の複数の変換ツール(UnicodeUTF-16やUTF-8を日本語に変換)にテキストを張り付けて変換しても同様です。  大切なファイルの2つが文字化けしたのですが、バックアップしておらず非常に困っています。  どなたか、元の文章を復元する知恵を貸していただけませんか?  一例として、1行目はこのようになっています。数字だけは、残っています。 「@ƒPƒ“ƒR[ƒRƒ€@@@2,205@‰»Ï•i 」  【備考】 ・ロケール変更は、BattleField4というゲームをする際に出るエラーを回避するために行いました。 ・IEでテキストファイルを開き、エンコードにカーソルをあわせると、「Unicode」に丸がついてグレーアウト表示されます。※Unicode(UTF-8)ではありません。

  • perl cgi のエンコード SHIFT->UTF-8

    こんにちは初心者です。 現在、既存のperl cgiをカスタマイズしております。 エンコードをshift_jisからUTF8に変更したいのですが、表示はCGI自体をUTF-8に変更し普通に見ることができるのですが、書き込みをしようとすると文字化けがおこります。 jcode.plをjcode.pmに変換すればよいらしいまでは分かったのですが、どこをどう変換すればいいのかjcode.pmのサイトを見ても理解できません。簡単な説明サイト紹介やアドバイス等をいただけませんでしょうか?

    • 締切済み
    • CGI
  • エンコードについて

    phpでXMLやデータベースとの連携を実験中です。結果、連携はうまくいったのですが、文字のエンコードについて思うことがあります。連携によって引き出された情報はテキストとなってphp上に表示されますが、エンコードがどれもUTF-8となっています。その為文字化けが起こってしまい、右クリック>エンコード>Unicode(UTF-8)という手順でエンコード方法を変更する手間が発生してしまいます。 製作側の自分自身はもちろんのこと、これではユーザー側にも面倒な一手間をかけてしまうことになります。 なんとかこのエンコード方法を一般的なSJISにする方法はありませんでしょうか?

    • 締切済み
    • PHP
  • UTF-8での保存について

     エディットボックスに入力してある日本語の文字列をUTF-8やUTF-8Nでテキストファイルに保存したのですがうまくいきません。  UTF-8の場合はファイルの先頭に3バイトのBOMをつければいいらしいので、 ファイルの先頭に0xEF,0xBB,0xBFの3バイトを追加してテキストファイルに保存しましたがメモ帳で開くと文字化けします(メモ帳で開くときは文字コードをUTF-8にして開いてます)。 作成したテキストファイルをバイナリエディタで開いてみると先頭の3バイトはEFBBBFとなっているので何も問題はないと思うのですが、どうして文字化けするファイルができてしまうのでしょうか? --- 実行環境 --- Microsoft Visual C++ 2010 Express WIN32 ユニコードビルド C言語

  • onedriveで編集したテキストが文字化けします

    onedriveにあるテキストファイルをandroidとwindows10(バージョンは1909)で同期して使っているのですが、 androidのQuickEditというアプリで編集すると発現条件はわからないのですが、ただ日本語を追加するだけで文字化けしてしまいます。 文字化けしないテキストファイルをwindows側から標準のメモ帳で開いてから保存しようとすると保存形式がUTF-8となっているのに対して文字化けしてるテキストファイルだとANSIとなっています。 このことからUTF-8で保存されてるファイルをwindowsのメモ帳がANSIとして読み込んでるのではないかと思っているのですが原因がわかりません。 androidのテキストエディタを変えて試そうといろいろインストールしてみたのですが、onedriveのファイルの読み込み書き込み出来るものが見つからず試せませんでした。 onedriveで使える別のテキストエディタアプリや、文字化けの原因、対策方法などご存じの方いらしたら教えてくださるとうれしいです。 どうぞよろしくお願いいたします。

  • VBAでUTF-8テキストファイル作成したい

    VBA,文字コードなどにあかるくない初心者です。 VBAを利用して、エクセルのとあるセルに記載されている文字を UTF-8形式でテキストファイルに出力させたいと考えています。 (多言語対応のため・・・、韓国語や中国語でセルに記載された文字を  UTF-8形式でテキストファイルに文字化けしないよう出力させたいためです。) どのように実現が可能か、いくつか検索をしてみましたが 難しくてわかりませんでした。 VBAのサンプルコードを教えていただけないでしょうか。 もしくは、初心者でもわかりやすい実現方法が記載されたサイトを教えていただけないでしょうか。 よろしくお願い致します。 ※今文字コードを意識せずに下記のようなVBAを書いています。(簡略化して記載しています。) Sub test() Open "C:\Sample\Data.txt" For Output As #1 'ファイルを新規作成 'データ書き込み Print #1, Cells(1, 1) Close #1 End Sub

  • UTF-8 コードでのmailtoの文字化け

    HPをつくったのですが、(HTMLのエンコードはUTF-8です。) mailtoにsubjectを追記してメールフォームを作成しました。ですが、件名のところがどうしても文字化けしてしまうので、文字をエンコードしたものを貼り付けて何とか対応しました。しかし、ウィンドウズXPまでの古いブラウザでは大丈夫なものの、VISTAでは文字化けしてしまうようです。 どうしてこうなってしまうのでしょうか?outlookなどのバージョンの問題なのでしょうか?それともOS? わかりません。理由をご存知の方、また解決策をご存知の方、どうぞ教えてください。 あと、こんなこと問題外といわれるかもしれませんが、UTF-8を単純にShift-JISに置換したのですが、レイアウトとうすべてがぐちゃぐちゃになってしまいました。たくさんのページをUTF-8からShift-JISに変換しても良い方法というのはないのでしょうか?この点も併せて回答お願いいたします。

    • ベストアンサー
    • HTML