※ ChatGPTを利用し、要約された質問です(原文:Cookie情報の取得と表示)
Cookie情報の取得と表示
特定のCookieを取得し、ページに表示させるスクリプトについて質問させていただきます。
現在、Cookieに保存されたハンドルネーム(2バイト文字も含む)の情報を取得し、
ページ上に表示させるスクリプトを作成しています。
Googleで検索した参考サイトを参考に以下のスクリプトを試してみましたが、
2バイト文字(”ああああ”等)については表示されないか、”%54%454%121%”のような文字化けになってしまいます。「test」のような1バイト文字については普通に表示されます。
いろいろ調べた結果、システムからCookieに保存する際に、文字コードがUTF8ではなく、SJISで保存されているため、「test」などの1バイト文字は普通に取得できますが、「ああああ」などの2バイト文字についてはバイナリデータとして扱われ、取得できない?ようになっているようです。
単にシステムからCookieに保存する際に「UTF8」で保存すればいいのかもしれませんが、可能ならJavascriptの何らかの処理で解決できればと考えております。
どなたかお分かりになれば、ご教授いただけませんでしょうか?
以下が現在テストしているスクリプトコードです。
<script language="JavaScript">
<!--
function GetCookie(name){
var st="";
var ed="";
var temp="";
if (document.cookie.length>0){
st=document.cookie.indexOf(name + "=");
if (st!=-1){
st=st+name.length+1;
ed=document.cookie.indexOf(";",st);
if (ed==-1)ed=document.cookie.length;
temp = document.cookie.substring(st,ed);
}
}
decodeURIComponent(temp);
return "";
}
// --></script>
<script language="JavaScript">
<!--
User = GetCookie('fmcHN'); // ハンドルネーム取得
document.write(User,"さん");
// --></script>
お礼
参考になりました。ありがとうございます!