Home > Tags > coldfusion
coldfusion
ColdFusionでメールを送る際に全角ハイフンや波文字が文字化けする
- 2008/01/08
- その他
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")>
<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")>
ホーム > タグ > coldfusion
