Ok, so substituting a UTF-8 char with a html-decimal is correct ?
PHP Code:
[CODE]char *chartodecimal(const char *string) // replaces all occurrences of CHARs to DECIMALs.
{
conversionpointer = (char *)realloc(conversionpointer, strlen(string) + 1);
strcpy(conversionpointer, string);
char original[14][7] = { "\u00E7"/*ç*/, "\x22"/*"*/,"\u00F1"/*ñ*/,"\u00E4"/*ä*/,"\u00E9"/*é*/,"\u00EB"/*ë*/,"\u00FC"/*ü*/,"\u00E3"/*ã*/,"\u00BA"/*º*/,"\u00AA"/*ª*/,"\u00E1"/*á*/,"\u00F3"/*ó*/,"\u00F8"/*ø*/,"\u00DF"/*ß*/};
char replacement[14][7] = {"ç ;"/*ç*/,"" ;"/*"*/,"ñ ;"/*ñ*/,"ä ;"/*ä*/,"é ;"/*é*/,"ë ;"/*ë*/,"ü ;"/*ü*/,"ã ;"/*ã*/,"º ;"/*º*/,"ª ;"/*ª*/,"á ;"/*á*/,"ó ;"/*ó*/,"ø ;"/*ø*/,"ß ;"/*ß*/}; // I placed a space before each ; so the browser could show them
char *conversionpointeroriginalp = NULL;
char *buffer = NULL;
int count = 0;
while(count < 14)
{
conversionpointeroriginalp = strstr(conversionpointer, original[count]);
while(conversionpointeroriginalp != NULL)
{
buffer = (char *)realloc(buffer, strlen(conversionpointer) + 1 + (strlen(replacement[count]) - strlen(original[count])));
strncpy(buffer, conversionpointer, (size_t)(conversionpointeroriginalp - conversionpointer));
sprintf(buffer + (conversionpointeroriginalp - conversionpointer), "%s%s", replacement[count], conversionpointeroriginalp + strlen(original[count]));
conversionpointer = (char *)realloc(conversionpointer, strlen(buffer) + 1);
strcpy(conversionpointer, buffer);
conversionpointeroriginalp = strstr(conversionpointeroriginalp, original[count]);
}
count++;
}
if (buffer != NULL)
{
free(buffer);
}
return conversionpointer;
}[/CODE]