decodeuri関数で末尾の文字が消えるNo.11124
K'zawa さん 23/02/18 13:45
 
こんにちは、K'zawaです。

decodeuri関数を通すと、文字列の末尾1文字が消えてしまいました。

$s = "abc";
$s2 = decodeuri( $s );
message $s2, $s;

[ ]
RE:11124 decodeuri関数で末尾の文字が消No.11125
秀丸担当 さん 23/02/20 09:04
 
ご指摘ありがとうございます。
その通りでした。
大変失礼しました。
次のバージョンで修正させていただきます。
encodeuriされた%記号を含む文字列の場合はよかったのですが、変換無くそのまま通
る場合うまくいきませんでした。
他にも、encodeuriされた前提でない文字で不安定になる問題もありました。
どちらも修正致します。

現状で回避するとしたら、%記号で変換される形になっているかどうかを事前に確認
するしかないですが、JavaScriptが使えるので、こちらで回避したほうが簡単です。
例えば以下のようにします。
$s="abc";
js{
 setVar("$s2",decodeURI(getVar("$s")));
}
message $s2;

[ ]
RE:11125 decodeuri関数で末尾の文字が消No.11126
K'zawa さん 23/02/20 11:51
 
秀丸担当さん、こんにちは。
K'zawaです。

>次のバージョンで修正させていただきます。

よろしくお願いします。JSのサンプルも参考になります。ありがとうございました。

[ ]