- 締切済み
InternetReadFileで読み込んだECUサイトの文字化け?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
なんにせよ、正しく処理/表示できるコードに変換するっきゃないでしょう。 変換先がShift-JISなのかUnicodeなのかあるいは他の何かかはあなたが決めることです。
関連するQ&A
- InternetReadFileでバイナリファイルを読み込む方法
InternetOpen, InternetOpenURL, InternetReadFileを用いてhttp上のファイルを読むことはできますが、単独の0x0Aまたは0x0Dがあると、それらを0x0D+0x0Aの2バイト(MS-DOSの改行コード)に変換してしまいます。読み取りたいのはバイナリファイルなので、この変換は不要ですが、この機能を外すオプションが分かりません。ネット検索してみましたが、Visual BasicではInternetReadFile の2番目の引数であるlpBufferをString型でなくByte型にするとバイナリにすることによりバイナリファイルを読み取り可能という情報は得られたのですが、C++についてはバイナリファイルを読み取る方法は発見できませんでした。InternetOpen, InternetOpenURL, InternetReadFileの引数も調査してみましたが、バイナリモードに該当するようなオプションは見つかりませんでした。 InternetOpen, InternetOpenURL, InternetReadFileを用いてhttp上のバイナリファイルを読みとる方法をご存知の方がいらしたら、その方法をご教示ください。また、それは不可能であると確認された方がいましたら、その情報をお知らせください。 なお、当方をBorlandのC++Builderを使用して、InternetOpen, InternetOpenURL, InternetReadFileを用いてhttp上のテキストファイルを読むところまでは順調に動作しています。
- ベストアンサー
- C・C++・C#
- 自サイトのindexだけが文字化けします。
自サイトのindexに表示させているページの日本語だけが文字化けしていて大変困っています。 indexはフレーム式で、ページを二つ表示させています。 ソースの言語コードを変えても、アップロードする時FTPで無変換、jis変換、EUC変換と変えて繰り返しても全く直りません。 METAタグは <META NAME=http-equtv="content-type" content="text/html;charset=shift_jis"> と入れています。 確認できる範囲で、operaとmozillaの最新版では文字化けせず、IE7とsleipnirで文字化けするようです。 jisコードで無変換でアップロードすると、表示が文字化け、ソースは正常です。 本当にどうしていいのか完全にお手上げ状態です。 宜しくお願いします。
- ベストアンサー
- その他(インターネット・Webサービス)
- PHP+MYSQLでの文字コードによる文字化け
お世話になっております。 PHP+MYSQLの構成でDBに登録、DBから参照→表示といったアプリケーションを作っているのですが質問があります。 文字コードを意識せずに、”Shift-JIS”でPHPやhtmlのコードを書いていたのですが、仕様上問題があることに気づいたので今まで書いたソースの文字コードを”EUC-JP”に変更することになりました。 フリーで複数のテキストファイルをShift-JIS→EUCに一括変換するソフトがあるので、そのソフトを使ってEUCの文字コードに変換したところ、ソース中の日本語(全角)が文字化けしてしまいました。 #どの変換ソフトを使っても同様の結果になります ブラウザー上で表示すると問題ありませんが、今後ソースをいじるときに非常に不便です。目的としては、「ソースの文字コードをShift-JISに変換」かつ「ソース内の日本語(全角)の文字化けを起こさない」方法をご存知の方は是非ご教授お願い致します。
- ベストアンサー
- MySQL
- 【C&C++】文字コードEUCをShift-JISに変換したい
WinInetで指定したURLのHTMLを表示するコンソールプログラムを作成したのですが、EUCで書かれたWebページが文字化けをしてしまいます。 Shift-JISで書かれているWebページは特に問題なく、自分もEUCからShift-JISに変換したいと考えています。しかし、色々と参考書やWebなどを調べてみたのですが、自分には少し難しすぎてより分かりやすい説明を求めています。 データの読み出しはInternetReadFileを使用しています。以下がそのソースです。 while (1) { InternetReadFile(hUrl, szBuf, (DWORD)sizeof(szBuf) - 1, &dwRead); szBuf[dwRead] = '\0'; if (dwRead == 0) break; str = str + szBuf; } どうかご回答よろしくお願いします。
- ベストアンサー
- C・C++・C#
- phpのソースによって、文字化けしてしまいます
お世話になっております。 PHPとMySQLを利用しております。php.iniでPHP 、my.cnfでMySQL、それぞれの文字コードを「日本語EUC」に設定し、問題なく動作しております。 ただ、PHPスクリプトのソースコードが日本語EUCでない場合、出力結果が???????のように文字化けしてしまいます。 PHPスクリプトのソースの文字コードが、日本語EUCであっても、シフトJISであっても文字化けしないようにするには、どのように設定したらよいでしょうか。 初心者であり、困っております。 どなたか、お助けいただくことはできますでしょうか。 どうか、よろしくお願いいたします。
- ベストアンサー
- PHP
- DreamWeaverの文字化け
DreamWeaverでHTMLファイルを開こうとすると、 HTMLファイルの文字コードによって 文字化けしてしまいます。 具体的には、EUCとシフトJISで作成されたファイルを編集しようとすると、文字化けします。 どの文字コードのファイルを開いても 文字化けしない方法はあるのでしょうか。 宜しくお願いします。
- ベストアンサー
- CSS
- "京"の文字化けで困っています。
"京"の文字化けで困っています。 postgres 7.2.4 サーバを使用し、サーバ側でECPG(埋込SQL)にて、 S-JISのCSVファイルを読込、EUCに変換し、データベースに登録を行い、 windowsのアプリ(visualBasic作成)でodbc接続にて データを表示させると"京"の漢字が文字化けをおこしてしまいました。 ("東京支店" -> "東=支店"と表示されてしまいます。) サーバのデータベースはEUC-JPで構築しております。 EUCの"京"の文字はS-JISの文字コード表にないためなのでしょうが、 ODBCで変換をしてくれていないのでしょうか・・ 勉強不足ですみませんが皆様のお知恵をお借りできればと思います。 よろしくお願いいたしいます。
- ベストアンサー
- PostgreSQL
- メール送信後のHTMLが文字化けします
FORMからsendmailを利用してメールを送信し、その結果を「送信できた」、「未入力項目がある」などを出力するHTMLとして出力するcgiを作ったのですがHTML出力が文字化けします。 メールのsubjectやbodyは文字化けせず正常に送信できます。HTMLにはMETAタグでeuc-jpやshift_jisと色々とトライしました。cgiもshift_jisとeuc-jp両方で試しましたがどちらも文字化けします。文字化けしているときにブラウザのエンコードで自動選択すると、ブラウザがcgiの使用コードに自動的に合わせてくれて正常に表示してくれますがこれがcgiを起動するたびで面倒です。エンコードを自動選択しないと文字化けしてそのときのブラウザが選択している文字コードは「西ヨーロッパ言語(ISO)です。 どうしたらブラウザに使用している文字コードを認識させるられるでしょうか?
- ベストアンサー
- CGI
- ソースの文字化けについて。
ヤフーのジオからサーバー移転しました。そのままジオのファイルマネージャーのあったhtmlを移転先のFTPにコピペしてとりあえず見れるようにはなったのですが、ジオはEUCなのでソースが文字化けしていることはわかってました。移動したページ全部に<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> でサイトも文字化けせず、ソースも文字化けしたいのでしょうか?他の質問を見るとそうでないようですが。いろいろ変換できるものを紹介しているようですが、具体的によく説明していただけるとうれしいです。もし、検索エンジンのヒットにさしつかえがないようであればこのままでもいいのですが。MATAをHTML に入れることでヒットしているようなんですけど初心者なのでよくわかりません。OSはXPです。宜しくお願いします。
- ベストアンサー
- その他(インターネット・Webサービス)
お礼
アドバイスありがとうございます。