プログラミングの初心者です。
coldfusionでかんたんなWEBアプリを作っています。
メールを送信したり、データベースに文字列を格納するところで
どうしても文字化けが発生します。
文字化けする文字は「~-(株)(有)m2(1)(2)(3)(4)(5)(6)(7)(8)(9)」など
ごくわずかです。
あちらこちらで調べて下記のようなコードを
付け加えたところ文字化けしなくなりました。
<!--- 文字化け対策・ここから --->
<cfset #form.name#=replace(#form.name#, "#chr(inputbasen("ff5e",16))#", "#chr(inputbasen("301c",16))#", "all")>
<cfset #form.name#=replace(#form.name#, "#chr(inputbasen("2225",16))#", "#chr(inputbasen("2016",16))#", "all")>
<cfset #form.name#=replace(#form.name#, "#chr(inputbasen("ff0d",16))#", "#chr(inputbasen("2212",16))#", "all")>
<cfset #form.name#=replace(#form.name#, "#chr(inputbasen("ffe0",16))#", "#chr(inputbasen("00a2",16))#", "all")>
<cfset #form.name#=replace(#form.name#, "#chr(inputbasen("ffe1",16))#", "#chr(inputbasen("00a3",16))#", "all")>
<cfset #form.name#=replace(#form.name#, "#chr(inputbasen("ffe2",16))#", "#chr(inputbasen("00ac",16))#", "all")>
<cfset #form.name#=replace(#form.name#, "(株)", "(株)", "all")>
<cfset #form.name#=replace(#form.name#, "(有)", "(有)", "all")>
<cfset #form.name#=replace(#form.name#, "m2", "m2", "all")>
<cfset #form.name#=replace(#form.name#, "(1)", "1", "all")>
<cfset #form.name#=replace(#form.name#, "(2)", "2", "all")>
<cfset #form.name#=replace(#form.name#, "(3)", "3", "all")>
<cfset #form.name#=replace(#form.name#, "(4)", "4", "all")>
<cfset #form.name#=replace(#form.name#, "(5)", "5", "all")>
<cfset #form.name#=replace(#form.name#, "(6)", "6", "all")>
<cfset #form.name#=replace(#form.name#, "(7)", "7", "all")>
<cfset #form.name#=replace(#form.name#, "(8)", "8", "all")>
<cfset #form.name#=replace(#form.name#, "(9)", "9", "all")>
<!--- 文字化け対策・ここまで --->
ところがWEBアプリ内には他にも入力項目がたくさんあるため、
上記と似たようなコードを何回も書かなくてはいけなくなって
しまいました。
(「#form.name#」だけ変えてコピーするだけなのですが・・・)
今回はとりあえず上記をコピーして一つ一つ
書き直していこうと思っています。
今後の参考に教えて欲しいのですが、
同じようなコードを何度も書かずに再利用する方法と
いうのはあるのでしょうか?
お礼
> 構造化型言語なら関数 > オブジェクト指向型言語ならクラス化 > して利用する。 回答ありがとうございました。 関数とかクラス化と同じようなものだと思いますが coldfusionにはカスタムタグというのがあることが分かりました。 試したところ、うまくいきましたので、省力化できそうです。 ありがとうございました。