ホーム > その他

ColdFusionでメールを送る際に全角ハイフンや波文字が文字化けする


cfmail関数でメール送信する際に波文字(〜)や、全角ハイフン(−)が ? となって表示される現象が発生しました。

調べてみると、Unicodeの文字列をJISに変換する際に間違って変換してしまうという問題がCFというかJavaにあるらしく(ここ)、その為文字化けが発生していました。

対応方法はメールの送信前に以下のコードを使って文字化け対象の文字を変換することです。

<cfset body=replace(body, "#chr(inputbasen("ff5e",16))#", "#chr(inputbasen("301c",16))#", "all")>
<cfset body=replace(body, "#chr(inputbasen("2225",16))#", "#chr(inputbasen("2016",16))#", "all")>
<cfset body=replace(body, "#chr(inputbasen("ff0d",16))#", "#chr(inputbasen("2212",16))#", "all")>
<cfset body=replace(body, "#chr(inputbasen("ffe0",16))#", "#chr(inputbasen("00a2",16))#", "all")>
<cfset body=replace(body, "#chr(inputbasen("ffe1",16))#", "#chr(inputbasen("00a3",16))#", "all")>
<cfset body=replace(body, "#chr(inputbasen("ffe2",16))#", "#chr(inputbasen("00ac",16))#", "all")>

参考サイト
Macromedia ColdFusion: - insert title here

Adobe ColdFusion Standard 8.0 日本語版 (2CPUS)

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
http://www.sylvan-l.net/b/2008/01/08/coldfusion%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%92%e9%80%81%e3%82%8b%e9%9a%9b%e3%81%ab%e5%85%a8%e8%a7%92%e3%83%8f%e3%82%a4%e3%83%95%e3%83%b3%e3%82%84%e6%b3%a2%e6%96%87%e5%ad%97%e3%81%8c%e6%96%87/trackback/
トラックバックの送信元リスト
ColdFusionでメールを送る際に全角ハイフンや波文字が文字化けする - sylvan より

ホーム > その他 > ColdFusionでメールを送る際に全角ハイフンや波文字が文字化けする

ぴくちゃー
ブログパーツ

ページの上部に戻る