文字化けで困ったことがったためその忘備録
1. 開発者ツールで文字化けする場合
Webページは正常に表示できているんだけど、開発者ツールだと文字化けしている。。みたいなケース
Responseオブジェクトを使用します
sample.asp
<%
RESPONSE.CHARSET = "Shift-Jis"
%>
2.Ajaxで文字化けする場合
フォーム値に日本語が含まれている場合は、javaScript でエンコードし、classic aspでデコードを行い取得します。
client.js
const form = $("#form1"); // 送信したいform
form.each(function(i,ele){
ele.value = encodeURI(ele.value); // 全ての値をencode
});
// 送信処理...
server.asp
<%
Dim formVal
'デコードして取得
formVal = URLDecode(REQUEST.FORM("nameAttr"))
'デコード関数
Function URLDecode(val)
Dim obj
Dim strDecode
'basp21を使用しデコード
set obj = server.createobject("basp21")
strDecode = obj.Base64(val,5)
set obj = Nothing
URLDecode = strDecode
End Function
%>
3.Webページが文字化けしている場合
始めたばかりだと遭遇するかもしれません。
aspの最初に @ CodePageを記述
client.asp
<%@ CodePage=65001 %> 'utf8の場合
<%@ CodePage=932 %> 'SJISの場合
参考ページ
http://asp.style-mods.net
http://www.b21soft.co.jp/basp21/basp21pref.html