Christian Kruse: + (SONDERZEICHEN) + (UNICODE)

Beitrag lesen

Hoi,

Generell denke ich, dass die Form \u00FC etc. die besste - für
mich - Lösung darstellt.

Das glaube ich nicht. Aber wie du willst...

function encode_string(variable) {
  var ret = '';

for(i=0;i<variable.length;i++) {
    if(variable.charCodeAt(i) > 128) {
      eval("var x="\u"+gen_charcode(variable.charCodeAt(i))+"";");
      ret += x;
    }
  }

return ret;
}

function gen_charcode(x) {
  x = dx(x);
  var z = '';
  for(var i=4-x.length;i>0;i--) {
    z += '0';
  }

z = z + x;
  return z;
}

function dx(d) {
  max = Math.pow(16,8);
  var z = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
  var x = "";
  var i = 1, v = d, r = 0;

if(d > max) {
    return -1;
  }
  if(d < 0) {
    return -1;
  }

while(v > 15) {
    v = Math.floor(v / 16); i++;
  }

v = d;

for(j=i;j>=1;j--) {
    x = x + z[Math.floor(v / Math.pow(16,j-1))];
    v = v - (Math.floor(v / Math.pow(16,j-1)) * Math.pow(16,j-1));
  }

return x;
}

Gruesse,
 c.j.k