See the code in action on Tinkercad
char accents[] = "àaâäcçeèé12ëïîioöoôûuUüùÂA34ÄÊ5EË6ÎÏ7ÔÖ8UÛÜ9ÀÇÉÈÊ0Ô"; void setup() { Serial.begin(115200); removeAccents(accents); Serial.println(accents); } void loop() { } void removeAccents(char Text[]) { int TextLength = strlen(Text); int i = 0; do { char c = Text[i]; if ((uint8_t)c == 195) { char c2 = Text[i + 1]; switch ((uint8_t)c2) { case 160 ... 166: Text[i] = 'a'; break; case 167: Text[i] = 'c'; break; case 168 ... 171: Text[i] = 'e'; break; case 172 ... 175: Text[i] = 'i'; break; case 177: Text[i] = 'n'; break; case 178 ... 182: Text[i] = 'o'; break; case 185 ... 188: Text[i] = 'u'; break; case 189 ... 191: Text[i] = 'y'; break; case 128 ... 134: Text[i] = 'A'; break; case 135: Text[i] = 'C'; break; case 136 ... 139: Text[i] = 'E'; break; case 140 ... 143: Text[i] = 'I'; break; case 146 ... 150: Text[i] = 'O'; break; case 153 ... 156: Text[i] = 'U'; break; default: break; } for (int j = i + 1; j < TextLength; j++) Text[j] = Text[j + 1]; TextLength --; } i++; } while (i < TextLength); }