• 締切済み

CDO.messageで第4水準漢字を送信したい

VBScriptで、CDO.Messageを使用したメール送信をしています。 メール本文に第3・第4水準漢字を使用したいのですがどうしたらよいでしょうか。 objMail.TextBody = "勷匊匋匤匵" '適当な第4水準漢字 objMail.TextBodyPart.Charset = "utf-8" VBScript自体のファイルをUTF-8にすると実行時にエラーになるし、 BODY部分を別テキストファイル(UTF-8)にして、OpenTextFileで読み込んでも文字化けします。

みんなの回答

  • trytobe
  • ベストアンサー率36% (3457/9591)
回答No.1

UTF-8 ではなく、UTF-16 や UTF-32 でもエラーになりますか。 そもそも、JIS で規定されている第四水準漢字を、Unicode の文字セットに取り込んだ環境に対応しているか、というソフトや動作環境の問題もまだ残っているので。 文字コード考え方から理解するUnicodeとUTF-8の違い | ギークを目指して http://equj65.net/tech/charcode/

masa_3298g
質問者

お礼

解決しました。 VBScriptと本文テキストの両方を"UTF-16(BOM付き)"で 文字化けせずに送信できました。原因はOpenTextFileの オプションをUTF-16にしてなかったことでした。 勉強になりました。ありがとうございました。

masa_3298g
質問者

補足

ご回答ありがとうございます。 .BodyPart.Charset は "UTF-16" や "UTF-32" が選択できないので "UTF-8"のままでテストしました。 VBScriptファイルと本文テキストの両方を "UTF-16LE(BOM付き)" "UTF-16BE(BOM付き)" で保存して試してみました。 エラーはなくなりましたが、すべての全角文字(第3・4水準漢字でなくても)が文字化けしてしまいました。 ((BOM無し)で保存しようとすると、その時点で文字化けします。) 【環境】  テキストエディタはEmEditorを使用  Windows7Pro、受信はOutlook2010使用  Outlookから送信すれば文字化けはありません 引き続きよろしくお願いします。

関連するQ&A

  • CDO.Messageを使ったVBScript

    VBScriptでメールを送信するためのサンプルがさまざまなサイトで紹介されており、 下記プログラムの10,11,12行目のURLが何をさしているのかが分かりません。 =============================ここから=============================== 1. Set objMail = CreateObject("CDO.Message") 2. objMail.From = "表示名 <username@xxx.yy.zz>" 3. objMail.To = "表示名1 <username1@xxx.yy.zz>;表示名2 <username2@xxx.yy.zz>" 4. objMail.Cc = "username@xxx.yy.zz" 5. objMail.Bcc = "username@xxx.yy.zz" 6. objMail.Subject = "メール送信テスト" 7. objMail.HtmlBody = "<html><body><i>CDO.Messageによるメール送信テスト</i></body></html>" 8. objMail.BodyPart.Charset = "utf-8" 9. objMail.AddAttachment "c:\test.txt" 10. objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 11. objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mailhost" 12. objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 13. objMail.Configuration.Fields.Update 14. objMail.Fields("urn:schemas:mailheader:X-Mailer") = "vbscript mail" 15. objMail.Fields("urn:schemas:mailheader:Importance") = "High" 16. objMail.Fields("urn:schemas:mailheader:Priority") = 1 17. objMail.Fields("urn:schemas:mailheader:X-Priority") = 1 18. objMail.Fields("urn:schemas:mailheader:X-MsMail-Priority") = "High" 19. objMail.Fields.update 20. objMail.Send 21. Set objMail = Nothing =============================ここまで=============================== 実際に会社の運用業務で使用しても問題ないものなのでしょうか? また、問題があるのでしたら、その解決法を教えて頂ければ嬉しいです。

  • CDOについて

    Microsoft CDO for Windows 2000 Library を使用して、メールの配信まではうまくいくようになったのですが、ファイル添付の方法が分かりません CDOについて、まだ勉強不足なので、どんな些細な事でも教えて下さい

  • CDOオブジェクトについて

    CDOオブジェクトを使用して、メールを送信する単純なvbscriptのプログラムを作成しています。しかし、プログラムを実行すると、「Set objMsg = CreateObject("CDO.message") 」の部分でスクリプトエラー「-2147217865」が発生し、メールが送信できません。考えられる原因がおわかりになる方、または解消方法がおわかりになる方がいらっしゃいましたら、ご教示いただきたく。 以上、宜しくお願い致します。

  • VBScriptで、メールの送信をしたい。

    VBScriptで、メールの送信をしたいのですが、『転送においてサーバーに接続できませんでした。』 というエラーが出てしまいます。 書いてあるスクリプトにどんな間違いがあるか見てもらえますか? Set objEmail = CreateObject("CDO.Message") objEmail.From = "****@gmail.com" objEmail.To = "****@gmail.com" objEmail.Subject = "メールタイトル" objEmail.Textbody = "メール本文" objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smarthost" objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objEmail.Configuration.Fields.Update objEmail.Send お願いします。

  • テキストファイルの中身をコピーしてメールの本文に入れる方法

    いつもお世話になっております。 タイトルの通りなのですが、 VBScriptでテキストファイルの内容をコピーして、 同スクリプト内で作られるCDOのTextbodyの中に貼り付けたいのですが方法がわかりません。 どなたかよろしくお願いいたします。

  • utf-8でメールを送信すると件名が文字化け

    Perlでメールフォームを作成しております。 今後のこともあってUTF-8でファイル、HTMLの出力をおこなっております。 なにかとutf-8便利でさくさくと問題なく作成していたのですがメール送信の肝心な部分で問題が出てきました。 送信先はiモードで506iです。 メールのヘッダーを以下のようにして送ると件名の日本語がどうしても文字化けします。本文はしません。アウトルックエクスプレス6.0では文字化けしません。YahooWebメールは文字化けしました。 Reply-To: $adminmail Errors-To: $adminmail To: $user_mail From: $adminmail Subject: $subject content-transfer-encoding: 7bit Content-type: text/plain; charset=utf-8 ・携帯がutf-8に対応していないメーラーなんだろうと思いますがなぜ本文は文字化けしないんでしょうか。 ・件名を文字化けをしないようにする方法はありますでしょうか?(ファイルの保存形式はutf-8を変えずに)

    • ベストアンサー
    • CGI
  • VBAでメール送信(CDO)

    お世話になります ExcelのVBAでCDOを使用してメールの送信を行おうとしております Excelファイルを配り、Excel内のアンケートに答えていただいた 後にVBAで作成したメール送信ボタンを実行すると、指定先にメール を送るということを考えております ただ、ソース内でSMTP情報と相手のメールアドレスの設定をしないと いけないのですが、この2点をどのようにVBAを使用して設定すれば良いの かが分かりません。そもそも出来るのかもわからないのですが ご存知の方可能なのであれば取得方法をご教授頂きたいと思います

  • ATOKで特定の漢字を表示させないように出来ますか?

    ATOK2009を使用しています。 「寛(かん)」という漢字をよく使用するのですが、旧字体で第三水準の「寬」が表示されてしまう事があります。 一見同じなので気がつかずにメールなどで使用してしまうと、文字化けしてしまいます。 特定の漢字を変換候補に表示させないことなどは出来るのでしょうか?

  • MT::Mailでメールを送信すると文字化けします。文字コードはUTF

    MT::Mailでメールを送信すると文字化けします。文字コードはUTF-8でMovableType5を使用しています。 MovableTypeオブジェクトリファレンスにあるとおり、 use MT::Mail; my %head = ( To => 'foo@bar.com', Subject => '件名' ); my $body = '本文'; MT::Mail->send(?%head, $body) or die MT::Mail->errstr; と、すると文字化けしたメールが送られてきます。 MySQLからデータを取得して件名、本文に入れ、メールすると文字化けせずに送れます。 my $sample = Sample::Object->load(undef,undef); my $body = $sample->text; my $subject = $sample->name; my %head = ( To => 'foo@bar.com', Subject => $subject ); MT::Mail->send(?%head, $body) or die MT::Mail->errstr; mt-config.cgiには DefaultLanguage ja MailEncoding ISO-2022-JP を追記しています。 mysqlの文字コードはUTF-8になってます。 character_set_client | utf8 character_set_connection | utf8 character_set_database | utf8 character_set_filesystem | binary character_set_results | utf8 character_set_server | utf8 character_set_system | utf8 ファイルに直に書いたときに文字化けしない方法はありますか。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • コード上の埋込み漢字コードの文字化け

    PHP のソースコード上に埋め込んでいるべた書きの2バイトコードが 文字化けを起こしてしまいます。以下、経緯を含め詳しく書きます。 1.HTMLのFORMよりデータを入力。(toiawase.html) 2.PHPにて、入力データをWebブラウザ上に表示して確認。(mail_kakunin.php) 3.PHPにて、確認済みのデータをmail()関数にて送信。(mail_send.php) 上記の状態で正常動作を確認。 「1」の toiawase.html にて、charsetをUTF-8にする必要があり 下記のように charset のみ書き換えました。 <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" /> すると以下の不具合が発生しました  ・上記の「2」の部分ですでに入力したデータのみ文字化けを起こす。  ・当然、「3」にての送信でも入力データのみ文字化けして送られる。 よって、「2」のmail_kakunin.php にも以下の分を追加しました <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" /> すると以下のような不具合が発生しました  ・上記の「2」の部分で入力データは mb_convert_encoding() で UTF-8   に変換し、文字化けしませんが、今度はPHPのコーディングでべた書きの2バイト   コードが文字化けを起こす。 HTML上で、UTF-8 の漢字コード指定なので、PHPにべた書きの2バイトコードも UTF-8 で出力する必要があるのですが、やり方がわかりません。 ご存知の方教えていただけると助かります。

    • ベストアンサー
    • PHP

専門家に質問してみよう