Para resolver el código confuso de JSP, primero debe comprender las razones del código confuso de JSP.
1. Al configurar el servidor e instalar MYSQL, se le pedirá que elija una codificación. Si esta codificación no es coherente con su página web. puede causar que la página JSP sea confusa.
2. Al crear una base de datos en sistemas como PHPMYADMIN o mysql-front, se le pedirá que elija una codificación. Si esta codificación no es coherente con su página web, también puede provocar páginas JSP confusas.
3. Al crear una tabla, se le pedirá que elija una codificación. Si esta codificación no coincide con la codificación de su página web, también puede causar que la página JSP sea confusa.
4. Puede elegir la codificación al agregar campos al crear una tabla. Si esta codificación no es consistente con la codificación de su página web, también puede causar que la página JSP sea confusa.
5. La codificación de la página JSP enviada por el usuario es inconsistente con la codificación de la página JSP que muestra los datos, lo que definitivamente hará que la página JSP sea confusa.
Por ejemplo, la página JSP donde el usuario ingresa datos está en código big5, pero la página JSP donde se muestra la entrada del usuario está en gb2312. Esto hará que la página JSP sea confusa al 100%.
6. Tenga en cuenta que el conjunto de caracteres es incorrecto:
1. El texto que suele ver en algunos sitios web puede tener varias codificaciones. Por ejemplo, si ve un carácter chino tradicional, puede ser una codificación big5, una codificación utf-8 o una codificación gb. es decir, hay caracteres chinos tradicionales codificados en chino simplificado y también hay caracteres chinos simplificados codificados en chino tradicional. Debes entender esto.
Si está creando una página web con codificación en chino simplificado, la codificación se establece en GB2312. Si los visitantes de Hong Kong y Taiwán envían información en chino tradicional, es posible que se produzcan códigos confusos. La solución es (1) configurar la codificación del sitio web en utf-8. , para que sea compatible con todos los caracteres del mundo (2) Si el sitio web ha estado funcionando durante mucho tiempo y tiene muchos datos antiguos y la configuración del chino simplificado no se puede cambiar, se recomienda configurar la página. codificación en GBK.
La diferencia entre GBK y GB2312 es que GBK puede mostrar más caracteres que GB2312. Para mostrar caracteres tradicionales en código simplificado, solo puede usar GBK.
7.La codificación especificada en la declaración de conexión JSP a la base de datos MYSQL es incorrecta.
8. Si la página JSP no especifica la codificación para el envío de datos, provocará un código confuso:
por lo tanto, los motivos del código JSP confuso no son más que los anteriores. Después de conocer los motivos, es mucho más fácil resolver el JSP confuso. código.Expresémoslos uno por uno:
1. Si el código para instalar MySQL no se puede cambiar, muchos amigos compran hosts virtuales para crear sitios web y no tienen derecho a cambiar el código de instalación de MYSQL. Podemos omitir este paso, porque siempre que los siguientes pasos sean correctos, el problema del código confuso aún se puede resolver.
2. Modifique la codificación de la base de datos. Si la codificación de la base de datos es incorrecta: puede ejecutar el siguiente comando en phpmyadmin: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin.
El comando anterior es configurar la codificación de la base de datos de prueba en utf8
3. Modifique la codificación de la tabla: ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
El comando anterior es para cambiar la codificación de una categoría de tabla a utf8
4. Modifique la codificación del campo:
ALTERAR TABLA `prueba` CAMBIAR `dd` `dd` VARCHAR( 45 ) CONJUNTO DE CARACTERES utf8 COLLATE utf8_bin NO NULO
El comando anterior es cambiar la codificación del campo de dd en la tabla de prueba a utf8
5. Si esta situación es fácil de resolver, simplemente revise la página y modifique el juego de caracteres del archivo fuente.
, //Si esto es correcto no habrá problema
6. En este caso, también puede modificar el juego de caracteres de la página.
7. En la declaración JSP para conectarse a la base de datos,
private String url="jdbc:mysql://localhost/"+DB_NAME+" user="+LOGIN_NAME+"&password="+LOGIN_PASSWORD+"&characterEncoding=GBK" //La clave depende de la codificación de caracteres
8. En este caso de caracteres confusos, simplemente agregue request.setCharacterEncoding("GBK") al principio de la página; simplemente especifique los
datos enviados. Nota: Después de la modificación de acuerdo con el método anterior, solo puede asegurarse de que esté recién insertado. los datos no serán confusos Por ejemplo Ejemplo: Si los datos que su usuario ha enviado son BIG5, pero desea utilizar el método anterior para cambiarlos y que se muestren correctamente en la página web GB2312, es imposible. La transformación solo se puede resolver escribiendo otro programa, por favor WEB745 .com otros artículos relacionados
Resumen: primero, debe determinar si los caracteres confusos de JSP se confunden después de insertarlos en la base de datos, o si la página JSP se confunde justo después de enviarla. Si el JSP se confunde justo después de recibir los datos de la página anterior, debe ser que el conjunto de caracteres es incorrecto, pero request.setCharacterEncoding no se agrega ("GBK");
si se debe a la base de datos, consulte los métodos 2, 3 y 4 anteriores.
Puede ser un problema de codificación. Conéctese a la base de datos de esta manera y vea.
jdbc:mysql://localhost:3306/xxxx useUnicode=true&characterEncoding=UTF-8
ver si funciona