chcp - Cambiar la codificación de caracteres
El comando chcp comprueba y cambia la página de códigos (la codificación de caracteres) que usa el Símbolo del sistema.
Cuando la salida muestra caracteres ilegibles, casi siempre se debe a que la codificación del Símbolo del sistema no coincide con la de los datos que se leen o escriben. chcp permite resolver esa diferencia.
Sintaxis básica de chcp
chcp [<número_de_página_de_códigos>]
Sin número muestra la página de códigos actual; con un número cambia a esa página.
Comprobar la página de códigos actual
Ejecútelo sin argumentos.
chcp
El valor predeterminado depende de la región: por ejemplo 850 en muchas instalaciones en español, 437 en inglés de EE. UU. y 932 en japonés.
Cambiar la página de códigos
Indique el número deseado. Para UTF-8 use 65001.
chcp 65001

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
Para volver, ejecute chcp con el número original (por ejemplo chcp 850).
Páginas de códigos habituales
| Número | Nombre | Uso |
|---|---|---|
932 | Shift_JIS (Windows japonés) | Predeterminada en Windows japonés |
65001 | UTF-8 | Archivos UTF-8 y salida de herramientas web |
437 | Estados Unidos (OEM) | Predeterminada en Windows en inglés de EE. UU. |
850 | Multilingüe (Latin 1, OEM) | Habitual en Windows en español |
Un cambio hecho con chcp solo se aplica a esa ventana (sesión) del Símbolo del sistema. Al cerrar la ventana o abrir otra, se vuelve a la página de códigos predeterminada.
Corregir el texto ilegible
Mostrar un archivo UTF-8
Si muestra con type un archivo de texto UTF-8 bajo otra página de códigos, el texto saldrá ilegible. Cambie antes con chcp 65001.
chcp 65001
type utf8.txt
Cuando la salida es ilegible
Si la salida de una herramienta externa es ilegible, ajuste la página de códigos a la codificación que esa herramienta emite: 65001 para UTF-8, 932 para Shift_JIS.
Cambiar temporalmente en un archivo por lotes y restaurar
Para usar UTF-8 dentro de un archivo por lotes y dejarlo todo como estaba al terminar, guarde primero el número actual.
@echo off
for /f "tokens=2 delims=:" %%a in ('chcp') do set ORIG_CP=%%a
chcp 65001 >nul
type "%~dp0utf8.txt"
chcp %ORIG_CP% >nul
El texto de la salida de chcp cambia según el idioma de la pantalla, pero el número siempre va después de dos puntos (:), por lo que delims=: lo extrae. Añadir >nul oculta el mensaje de la página de códigos activa.
Si un archivo por lotes (.cmd) con caracteres no ASCII se guarda en UTF-8, en algunos entornos las etiquetas y goto pueden no interpretarse correctamente. Para los archivos por lotes que distribuya, es más seguro guardarlos con la codificación heredada del sistema. Consulte el artículo sobre codificación para más detalles.
La elección del formato de guardado y cómo pasar todo el sistema a UTF-8 se explican en el artículo relacionado de abajo.