Caratteri strani in un file?
Quando accenti e simboli appaiono sballati — "città" diventa "città ", la "è" un geroglifico — quasi sempre era testo UTF-8 letto come Windows-1252. Il KIT inverte questo mojibake e ti ridà il testo con gli accenti italiani al posto giusto, in UTF-8, lo standard universale, direttamente nel browser. Incolli il testo e leggi il risultato.
Esegui gratis nel browser
Perché escono i caratteri strani
Il problema nasce quando un testo salvato in una vecchia codifica (Windows-1252, ISO-8859-1, Latin-1) viene aperto da un programma che si aspetta UTF-8, o viceversa. Le lettere accentate italiane — à, è, ì, ò, ù, é — sono le prime a rompersi, e compaiono sequenze come "è" o "’" al posto dell'apostrofo. Il testo diventa illeggibile e i CSV importati sballano i nomi. Invertire il mojibake rimette tutto in ordine.
Cosa fa la correzione
Incolli il testo e il KIT inverte proprio quella corruzione — l'UTF-8 letto come Latin-1/Windows-1252 — mostrandoti un'anteprima, così controlli che gli accenti siano tornati giusti prima di copiarli. Funziona sul testo incollato da file di testo, CSV, sottotitoli e log. Non è un convertitore di codifiche generico: non riconosce codifiche arbitrarie e non tratta Shift-JIS, GBK o UTF-16. UTF-8 è lo standard che oggi capiscono tutti — browser, gestionali, database — quindi una volta corretto il testo non ti darà più sorprese.
Gratis e privato
La correzione avviene nel tuo browser: il testo che incolli non viene inviato da nessuna parte e resta sul tuo dispositivo. Nessun account, nessun limite di utilizzo. Se devi correggere tanti testi in automatico — per esempio gli export ricorrenti da un vecchio sistema — la stessa funzione è disponibile via API a $0.002 a richiesta.
Casi d'uso
CSV con i nomi rovinati
Un export dal gestionale mostra "Nicolò" come "Nicolò" e "Società" come "Società ": incolli le righe, inverti il mojibake e i nomi tornano leggibili, pronti per l'import.
Sottotitoli con accenti sballati
Un testo di sottotitoli scaricato da una fonte straniera ha tutte le "è" corrotte in "è": incollato qui, la correzione le rimette a posto senza riscriverle a mano.
Vecchio testo da recuperare
Copi un vecchio testo salvato anni fa e gli accenti sono un disastro: lo incolli, inverti la corruzione e recuperi il documento leggibile.
Domande frequenti
Devo sapere in che codifica era il testo di partenza?
No. Incolli il testo e il KIT inverte la corruzione Latin-1/Windows-1252 mostrandoti un'anteprima: se gli accenti tornano giusti, li copi. Non serve alcuna conoscenza tecnica.
Sistema gli accenti italiani à è ì ò ù?
Sì, sono proprio quelli che si rompono più spesso in "à ", "è" e simili. Dopo la correzione tornano leggibili, insieme all'apostrofo e ai simboli come € e °.
Funziona anche col testo dei CSV, non solo col testo semplice?
Sì, incolli il testo di file di testo, CSV, sottotitoli e log. Il contenuto resta identico: cambia solo la codifica, non i dati né la struttura delle colonne.
Il testo viene caricato su internet?
No, la correzione avviene nel browser e il testo resta sul tuo dispositivo. È il modo più riservato di sistemare contenuti con dati personali.
Ha un costo?
Nel browser è gratis e senza limiti. Paghi solo se usi le API per correggere il testo in automatico, a $0.002 a richiesta.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/data/to-utf8 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"café"}'const res = await fetch("https://api.kit.forhosting.com/data/to-utf8", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/to-utf8",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/to-utf8", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/to-utf8", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "café"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.to_utf8",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 25 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |