![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
海外製のプログラムを日本語対応に修正しているのですが「~」が文字化け(?)になります。
下記がコードの一部を抜粋したものです。
$message=jcode($message)->sjis;
my $msg = MIME::Lite->new(
Type =>'multipart/mixed',
From =>$fromaddr,
To =>"$to",
Subject =>"$subject",
Type => "text/plain; charset=\"iso-2022-jp\"",
Data =>"$message"
);
「~」だけが文字化けします。
下記のように文字コードを UTF-8 にすると文字化けしませんが、
メールで UTF-8 を使うのは良くないのでしょうか。
$message=jcode($message)->utf8;
my $msg = MIME::Lite->new(
Type =>'multipart/mixed',
From =>$fromaddr,
To =>"$to",
Subject =>"$subject",
Type => "text/plain; charset=\"utf-8\"",
Data =>"$message"
);
これだと文字化けしません。
UFT-8 でメールを送信しても問題ないのか、
また、問題の有無に関係なく iso-2022-jp で文字化けしない方法を
ご教授いただけないでしょうか。
よろしくお願い致します。
No.5ベストアンサー
- 回答日時:
波ダッシュ問題という有名な問題なのでこの言葉で検索すれば詳細が得られると思います。
解決方法は色々あると思いますが、以下のように全角チルダを波ダッシュに強制変換するとか。
Perlで日本語(ISO-2022-JP)メールを送信(まとめ)
http://d.hatena.ne.jp/kopug/20060903
ありがとうございます。
有名な問題だったのですね。
大変勉強になりました。
また、紹介していただいたサイトで解決することが出来ました。
No.4
- 回答日時:
たぶん Lite.pm は関係ないよね.
「~」を Unicode のどれに割り付けるかという問題でしょう... あれ? iso-2022-jp で送るのに sjis でいいんだっけ?
参考URL:http://ja.wikipedia.org/wiki/Unicode
No.3
- 回答日時:
波ダッシュが、チルダに変換されてしまった……
先ほど書いた、波ダッシュの件に関しては、ここを参照してください。
http://ja.wikipedia.org/wiki/%E6%B3%A2%E3%83%80% …
No.2
- 回答日時:
ちょっと意味は変わりますが、同じようなのに
~
があります。
これでしたら、全機種共通だったと思います。
ですが、Windowsから出すのは大変だったと思います。
IMEパッドでは出せるのですが……
jisでも、sjisでも対応してないということですね<~が?になる
あと、受信する相手にもよるのですが、
基本的にUFT-8でメール送信しても大丈夫です。
ありがとうございます。
大変参考になりました。
> 基本的にUFT-8でメール送信しても大丈夫です。
安心しました。
「ISO-2022-JPは7ビットで表現されているため、欧米などで開発された8ビット目を無視する電子メールシステムでも問題なく使用することができる。」
という記事を見たので少し心配していました。
No.1
- 回答日時:
~は、機種依存文字なので、文字化けしやすい文字です。
まぁ、それは置いておいて、
utf-8で文字化けしなくて、
iso-2022-jpで文字化けする理由ですが、
$message=jcode($message)->sjis;
ここを、sjisにしているからではないですか?
いちど、jisにしてみてはどうでしょう?
早速ご教授いただきありがとうござます。
> ~は、機種依存文字なので、文字化けしやすい文字です。
「~」は機種依存文字なのですね。知りませんでした。
機種依存文字ではない文字で「~」と同じ意味を表現出来る文字というのはあるのでしょうか。
> いちど、jisにしてみてはどうでしょう?
私も初めは
$message=jcode($message)->jis;
にしていたのですが、そうすると
「?」ではなく、「\x{ff5e}」に文字化けしてしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- PHP phpの imap_search で漢字コード 1 2022/09/06 17:32
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlの日本語文字コードはどう...
-
javaでエンコードがうまくいかない
-
CSVファイルの中で、「 , 」カ...
-
住宅にカナを入力する際に丁目...
-
英数字のみ全角から半角に変換
-
CSVの定義
-
マクロを使ってフォルダー内に...
-
EXCELからCSVにすると余計なカ...
-
csvデータ ダブルクォーテ...
-
エクセルで数値を全角文字(カ...
-
文字コードの%E3%80%とは何です...
-
Malformed UTF-8 character
-
InputMan の imTextについて
-
PHP カンマをエスケープしたい...
-
VBA 置換文字がみつからない時
-
全角スペースを削除するには?
-
大文字と全角文字は同じ意味で...
-
COBOLでの全角文字の判定をした...
-
ACCESSの表で罫線を使うと縦方...
-
角カッコが含まれてるかどうか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IMAP4でsubjectが検索ヒットしない
-
CASLIIの数値データ入出力
-
pythonエラー
-
BASP21によるbase64のデコード...
-
「繝・せ繝・」となる文字化け
-
jisコードで16進数の『3c』か...
-
URLエンコードされたデータを戻...
-
1つのサイトで文字コードが混在...
-
perlの日本語文字コードはどう...
-
Encodeモジュールで日本語化したい
-
Lite.pmを使ったメールで文字化け
-
Perlでのメール本文の解析について
-
Cookie変数の命名について
-
Perl:ファイル名だけ文字化けする
-
MIMEでエンコードされたMailのS...
-
javaでエンコードがうまくいかない
-
Perl 文字化け
-
メール(iso-2022-jp-2)のデコ...
-
index関数で日本語を使用する場...
-
メールを文字化けしないように...
おすすめ情報