解决MYSQL中文乱码问题三种方法

方法三

1>本文将消除乱码分为三步:

         >消除页面乱码,

         >消除从mysql教程中读出中文乱码,

         >消除插入mysql数据库教程中的中文乱码;

15>注意编码表示方式在网页特效p/jsp.html target=_blank >jsp教程与mysql中的区别,如下:

      jsp: gb2312, gbk, utf-8....

      mysql: gb2312, gbk, utf8....

关键问题:编码,建议统一为gb2312或gbk,本文使用gb2312,gbk未测试;

【step1】: 消除纯html页和jsp页在tomcat环境下运行的乱码

   这个是由于流览器无法选择编码方式造成的, 手动从ie中选择“gb2312”即可解决;也可以网页中加入meta标记或page指令;

   meta标记如下:

         <meta http-equiv="content-type" content="text/html; ch***t=gb2312">

   page指令如下:

        <%@ page language="java" contenttype="text/html; ch***t=gb2312" pageencoding="gb2312"%>

   前面说明中已经提到, meta在2k下可能不起作用(xp下时了时坏),因为简单起见,加入page指令似乎是一个一劳永逸的事情;

   总结: 加入page指令,一定可以使纯jsp页面或html页面在tomcat环境下正常显示。

【step2】: 消除从mysql数据库中读出中文的乱码

    分为两个目标: step1: 从mysql客户端查看中文正常, step2: 从网页中查看中文正常;

1: 在用sql脚本创建数据库前,设置mysql的默认编码方式为“gb2312”,

   此步可以在mysql-administrator-1.1.0-rc-win.msi中完成,或者是mysql server向导;

    这样设置完毕后再用sql 脚本创建数据库, 注意如果sql脚本中有设置字符集为latin1或utf-8的语句,一定要删除。

         已发现目前版本《在线书店》中的sql脚本中带有设置默认字符集为latin1,一定要删除!

       创建数据库完毕后,用mysql cc或mysql admin可检查所创建的数据库的字符集,如果正确,则用mysql cc或mysql admin都可以正常查看中文;

2: 一般情况下,到这一步,在网页中已经基本能正常显示中文了,但凡事总有例外,可以在数据库连接串处再特别说明一下:

       string url ="jdbc:mysql://localhost/bookstore?useunicode=true&characterencoding=gb2312";

       conn=drivermanager.getconnection(url,"root","");

   一般情况下用 string url ="jdbc:mysql://localhost/bookstore"应该就能正常显示中文。

总结:修改mysql server数据库默认字符集为“gb2312”,从mysql读出中文可正常显示;

   例外: 此时仍有可能还有乱码,如本书光盘中的《在线书店》,请参见前面的说明。

【step3】: 消除插入mysql数据库中的中文乱码

   此步比较简单,在jsp页面中加入如下代码:

          request.setcharacterencoding("gb2312");

时间: 2024-10-17 23:02:04

解决MYSQL中文乱码问题三种方法的相关文章

完美解决mysql中文乱码的问题

mysql|sql|解决|问题|中文乱码 *MySQL(和PHP搭配之最佳组合)中文乱码的原因 MySQL(和PHP搭配之最佳组合)会出现中文乱码的原因不外乎下列几点: -MySQL(和PHP搭配之最佳组合) server本身设定问题,例如还停留在latin1 -MySQL(和PHP搭配之最佳组合) table的语系设定问题(包含character与collation) -客户端程式(例如php)的连线语系设定问题 在之前的两篇文章中已介绍过如何设定MySQL(和PHP搭配之最佳组合) serv

解决JSP开发Web程序中文显示的三种方法

js|web|程序|解决|显示|中文 方法一:最简单也是用的最多的方法 <%@ page language="java" pageEncoding="GBK" %> 或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符. 这个方法用于jsp页面中的中文显示. 方法二:使用过滤器 过滤器使用主要针对表单提交,插

彻底解决mysql中文乱码的办法

MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如php)的连线语系设定问题 强烈建议使用utf8!!!! utf8可以兼容世界上所有字符!!!! Linux下Mysql插入中文显示乱码解决方案 mysql -uroot -p 回车输入密码 进入mysql查看状态如下: mysql不能插入中文 默认的是客户端和服务器都用了latin1,所以会乱码.

解决MySQL中文乱码以及版本不一致问题

这几天基于Heritrix写了一个爬虫,用到MySQL,在导入导出数据时,遇到一些乱码问题,好不容易解决了,记录一下,以备查看.  一.导出数据 先说明一下自己的环境:Mac OS X 10.8.3, MySQL Community Server 5.6.10, MySQL Workbench 5.2.47. 我想把本机数据库内的数据迁移到另一台机器上,于是使用Workbench中自带的import/export功能,其实就是调用mysqldump.不幸的是,出现了版本不一致的错误.   错误没

优化MySQL数据库查询的三种方法

任何一位数据库程序员都会有这样的体会:高通信量的数据库驱动程序中,一条糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响. 如同其它学科,优化查询性能很大程度上决定于开发者的直觉.幸运的是,像MySQL这样的数据库自带有一些协助工具.本文简要讨论诸多工具之三种:使用索引,使用EXPLAIN分析查询以及调整MySQL的内部配置. 一.使用索引 MySQL允许对数据库表进行索引,以此能迅速查找记录,而无需一开始就扫描整个表,由此显著地

mysql select查询区分大小写三种方法(1/3)

1.一种方法是可以设置表或行的collation,使其为binary或case sensitive.在mysql教程中,对于column collate其约定的命名方法如下: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: case sensitive collation,区分大小写 *_ci: case insensitive collation,不区分大小写   ########### # start binary c

MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题_Mysql

MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. character-set-table:数据库表字符集. 优先级依次增加.所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集. character-set-client:客户

优化MySQL数据库查询的三种方法简介

在优化查询中,数据库应用(如MySQL)即意味着对工具的操作与使用.使用索引.使用EXPLAIN分析查询以及调整MySQL的内部配置可达到优化查询的目的. 任何一位数据库程序员都会有这样的体会:高通信量的数据库驱动程序中,一条糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响. 如同其它学科,优化查询性能很大程度上决定于开发者的直觉.幸运的是,像MySQL这样的数据库自带有一些协助工具.本文简要讨论诸多工具之三种:使用索引,使用E

VBS中解决带空格路径的三种方法_vbs

方法一: Set wshell=CreateObject("WScript.Shell") wshell.Run """C:\Program Files\360\360se\360se.exe""",5,True Set wshell = Nothing 方法二: temp="C:\Program Files\360\360se3\360se.exe" path = Chr(34) & temp &