Hallo allemaal,
Zoals ik in de CC al bezig was met proberen, zit ik met een probleem(pje). Ik heb al een tijdje een auto-post-plugin voor Tweakers.
Gewoon een Greasemonkey JS die vanalles doet. Alles gaat goed. Behalve de speciale karakters, de encoding gaat fout.
Tweakers is ISO-8859-15 en AJAX POST is altijd UTF-8.
Dus, als ik een é, á, whatever post gaat het nogal mis
Nou had OnTrack iets cools gezegd en gedaan: OnTracK in "De Devschuur Coffee Corner - Iteratie 5" en OnTracK in "De Devschuur Coffee Corner - Iteratie 5"
Dat gaat nog steeds niet helemaal goed, in mijn lokale testje gaat het mis.
JS:
PHP: enkel teruggeven van de $_POST['string'] met HTML erbij (meta dingen enzo)
HTML: heeft een iso-8859-1 codering
Wie helpt mij uit de brand?
Zoals ik in de CC al bezig was met proberen, zit ik met een probleem(pje). Ik heb al een tijdje een auto-post-plugin voor Tweakers.
Gewoon een Greasemonkey JS die vanalles doet. Alles gaat goed. Behalve de speciale karakters, de encoding gaat fout.
Tweakers is ISO-8859-15 en AJAX POST is altijd UTF-8.
Dus, als ik een é, á, whatever post gaat het nogal mis
Nou had OnTrack iets cools gezegd en gedaan: OnTracK in "De Devschuur Coffee Corner - Iteratie 5" en OnTracK in "De Devschuur Coffee Corner - Iteratie 5"
Dat gaat nog steeds niet helemaal goed, in mijn lokale testje gaat het mis.
JS:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| $('#button').on("click", function() { var text = $('#text').val(); text = unicode2cp1252(text); text = "string="+text; $.ajax({ url: "URL", method: "POST", data: text, processData: false, contentType: 'application/x-www-form-urlencoded', beforeSend: function(jqXHR) { jqXHR.overrideMimeType('application/x-www-form-urlencoded'); }, success: function(j) { console.log(j); } }); }); function unicode2cp1252(str) { var res = []; var char; for (var i = 0, len = str.length; i < len; i++) { char = str.charCodeAt(i) if(char < 128) res.push(str[i]); else if(char < 256) { switch(char) { case 233: char = "\233"; break; case 225: char = "\225"; break; case 237: char = "\237"; break; case 243: char = "\243"; break; case 250: char = "\250"; break; } res.push(char); } else res.push("&#"+char+";"); } return res.join(""); } |
PHP: enkel teruggeven van de $_POST['string'] met HTML erbij (meta dingen enzo)
HTML: heeft een iso-8859-1 codering
Wie helpt mij uit de brand?
2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI