我们都知道
show variables like 'character%'; 
显示MYSQL字符集编码,然后在my.ini里面修改把default-character-set=latin1成为
default-character-set=utf8
于是显示从
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
变成了这样:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
可是我的却有两项不是utf8,还需要如何修改配置信息?请看如下图:

解决方案 »

  1.   

    这可是导致页面乱码的罪魁祸首!经检验我的Servlet跟JSP没有任何的中文乱码的问题。我估计就是出现在数据库这边。改了utf8据说在命令提示符显示还是中文乱码,但是页面却是正常的中文字符。所以还请各位达人赐教。
      

  2.   

    并不需要改INI文件。建议你可以先参考一下这个贴子。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  3.   

    看了感觉不怎么明白其实我只想能把那两个地方改掉。我用set character_set_database=utf8;
    set character_set_server=utf8;只能做到本次,关闭了命令提示符再打开还是恢复成原状态给我的感觉就是在数据库中不能正常显示中文记录,但是能在页面上显示也就可以了所以还请告诉我如何修改
      

  4.   

    这是乱码的页面这是建表语句:
    DROP TABLE IF EXISTS t_book;
    CREATE TABLE t_book (
      id int(12) NOT NULL,
      name varchar(200) NOT NULL,
      author varchar(200) NOT NULL,
      publisher varchar(200) NOT NULL,
      publish_date date NOT NULL,
      price double(9,2) NOT NULL,
      PRIMARY KEY (id)
    ) ENGINE=InnoDB;
    INSERT INTO t_book VALUES (1,'Java入门','科学家','地球出版社','2008-08-08',100.50);
    INSERT INTO t_book VALUES (2,'Struts技巧','物理学家','地球出版社','2008-01-01',200.00);
    INSERT INTO t_book VALUES (3,'Oracle 9i使用指南','老虎','星球出版社','2007-10-10',210.50);
    INSERT INTO t_book VALUES (4,'红楼梦','曹雪芹','宇宙出版社','2007-08-08',300.00);
    INSERT INTO t_book VALUES (5,'福尔摩斯探案集','柯南道尔','文学出版社 ','2006-09-01',200.00);
    INSERT INTO t_book VALUES (6,'穿紫衣的女人','琼瑶','现代出版社','1995-07-26',55.00);
    INSERT INTO t_book VALUES (7,'Oracle PL/SQL编程','科学家','机械工业出版社 ','2002-05-01',99.00);DROP TABLE IF EXISTS t_book_category;
    CREATE TABLE t_book_category (
      id int(12) NOT NULL,
      book_id int(12) NOT NULL,
      category_id int(12) NOT NULL,
      PRIMARY KEY (id)
    ) ENGINE=InnoDB;INSERT INTO t_book_category VALUES (1,1,1);
    INSERT INTO t_book_category VALUES (2,1,2);
    INSERT INTO t_book_category VALUES (3,1,4);INSERT INTO t_book_category VALUES (4,2,1);
    INSERT INTO t_book_category VALUES (5,2,2);
    INSERT INTO t_book_category VALUES (6,2,4);INSERT INTO t_book_category VALUES (7,3,1);
    INSERT INTO t_book_category VALUES (8,3,2);
    INSERT INTO t_book_category VALUES (9,3,5);INSERT INTO t_book_category VALUES (10,4,1);
    INSERT INTO t_book_category VALUES (11,4,3);
    INSERT INTO t_book_category VALUES (12,4,6);INSERT INTO t_book_category VALUES (13,5,1);
    INSERT INTO t_book_category VALUES (14,5,3);
    INSERT INTO t_book_category VALUES (15,5,7);INSERT INTO t_book_category VALUES (16,6,1);
    INSERT INTO t_book_category VALUES (17,6,3);
    INSERT INTO t_book_category VALUES (18,6,8);INSERT INTO t_book_category VALUES (19,7,1);
    INSERT INTO t_book_category VALUES (20,7,2);
    INSERT INTO t_book_category VALUES (21,7,5);DROP TABLE IF EXISTS t_category;
    CREATE TABLE t_category (
      id int(12) NOT NULL AUTO_INCREMENT,
      name varchar(50) NOT NULL,
      parent_id int(12) NOT NULL DEFAULT '0',
      PRIMARY KEY (id)
    ) ENGINE=InnoDB;INSERT INTO t_category VALUES (1,'图书',0);
    INSERT INTO t_category VALUES (2,'计算机',1);
    INSERT INTO t_category VALUES (3,'文学',1);
    INSERT INTO t_category VALUES (4,'Java语言',2);
    INSERT INTO t_category VALUES (5,'数据库技术',2);
    INSERT INTO t_category VALUES (6,'古典小说',3);
    INSERT INTO t_category VALUES (7,'现代小说',3);
    INSERT INTO t_category VALUES (8,'当代小说',3);
      

  5.   

    character_set_database 是指你数据库的字符集设置。 你需要的是去改你当前数据库的默认字符集。
      

  6.   


    http://hi.csdn.net/attachment/201002/24/1401089_126702380324o3.jpg
      

  7.   

    我以下两贴分别贴出book_form.jsp<%@page pageEncoding="utf-8"%>
    <%@page import="java.util.*"%>
    <%@page import="org.whatisjava.book.dao.*"%>
    <%@page import="org.whatisjava.book.domain.*"%>
    <%
    BookDao bookService = new BookDao();
    List<Category> catList = bookService.getAllCategory();
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv=Content-Type content="text/html; charset=utf-8" />
    <link href="../css/style.css" type="text/css" rel="stylesheet" />
    </head> <body topMargin="10">
    <div id="append_parent"></div> <table cellSpacing="6" cellPadding="2" width="100%" border="0">
    <tbody>
    <tr>
    <td>
    <table class="guide" cellSpacing="0" cellPadding="0" width="100%"
    border="0">
    <tbody>
    <tr>
    <td>
    &nbsp;
    </td>
    </tr>
    </tbody>
    </table>
    <br /> <form id="settings" action="book_list.jsp" method="post">
    <table class="tableborder" cellSpacing="0" cellPadding="0"
    width="100%" border="0"> <tbody>
    <tr class="header">
    <td colSpan="3">
    搜索书目
    </td>
    </tr>
    <tbody>
    <tr>
    <td class="altbg1" width="25%"> <b>类别:</b>
    <br />
    选择要搜索的书目的类别
    </td>
    <td class="altbg2" valign="middle">
    <select name="categoryId">
    <option value="-1">
    -- 选择类别 --
    </option>
    <%
    for (Category cat : catList) {
    %>
    <option value="<%=cat.getId()%>">
    <%=cat.getName()%>
    </option>
    <%
    for(Category subCat : cat.getSubCats()) {
    %>
    <option value="<%=subCat.getId()%>">
    &nbsp;&nbsp;&nbsp;&nbsp;<%=subCat.getName()%>
    </option>
    <%
    }}
    %> </select>
    </td>
    </tr>
    <tr>
    <td class="altbg1" width="25%">
    <b>书名:</b>
    <br />
    填写要搜索的书目的书名
    </td> <td class="altbg2" valign="middle">
    <input type="text" name="name" />
    </td>
    </tr>
    <tr>
    <td class="altbg1" width="25%">
    <b>作者:</b>
    <br /> 填写要搜索的书目的作者
    </td>
    <td class="altbg2" valign="middle">
    <input type="text" name="author" />
    </td>
    </tr>
    <tr>
    <td class="altbg1" width="25%">
    <b>出版社:</b> <br />
    填写要搜索的书目的出版社
    </td>
    <td class="altbg2" valign="middle">
    <input type="text" name="publisher" />
    </td>
    </tr>
    </tbody>
    </table> <br />
    <center>
    <input class="button" type="reset" value="重置"
    name="settingsubmit" />
    <input class="button" type="submit" value="提 交"
    name="settingsubmit" />
    </center>
    </form>
    </td>
    </tr> </tbody>
    </table>
    </body>
    </html>
      

  8.   

    book_list<%@page pageEncoding="utf-8"%>
    <%@page import="java.util.*"%>
    <%@page import="org.whatisjava.book.dao.*"%>
    <%@page import="org.whatisjava.book.domain.*"%>
    <%@page import="org.whatisjava.book.util.*"%><%
    String categoryIdStr = request.getParameter("categoryId");
    String name = request.getParameter("name");
    String author = request.getParameter("author");
    String publisher = request.getParameter("publisher"); Integer categoryId = (categoryIdStr != null ? Integer
    .parseInt(categoryIdStr) : null);
    if (name != null && name.length() == 0)
    name = null;
    if (author != null && author.length() == 0)
    author = null;
    if (publisher != null && publisher.length() == 0)
    publisher = null; BookDao bs = new BookDao();
    List<Book> bookList = bs.findBook(categoryId, EncodingUtils
    .utf(name), EncodingUtils.utf(author), EncodingUtils
    .utf(publisher));
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="/cookbook/css/main/style.css" type="text/css"
    rel="stylesheet" />
    </head> <body topMargin="10">
    <div id="append_parent"></div> <table cellSpacing="6" cellPadding="2" width="100%" border="0">
    <tbody>
    <tr>
    <td>
    <table class="guide" cellSpacing="0" cellPadding="0" width="100%"
    border="0">
    <tbody>
    <tr>
    <td>
    &nbsp;
    </td>
    </tr>
    </tbody>
    </table>
    <br />
    <table class="tableborder" cellSpacing="0" cellPadding="0"
    width="100%" border="0">
    <tbody> <tr class="header"> <td class="altbg1">
    <b>书名</b>
    </td> <td class="altbg1">
    <b>作者</b>
    <td class="altbg1"> <b>出版日期</b>
    </td>
    <td class="altbg1">
    <b>出版社</b>
    </td> <td class="altbg1">
    <b>单价</b> </td> </tr>
    </tbody>
    <tbody> <%
    for (Book book : bookList) {
    %>
    <tr>
    <td class="altbg2">
    <b><%=book.getName()%> </b>
    </td> <td class="altbg2">
    <b><%=book.getAuthor()%> </b>
    </td> <td class="altbg2"> <b><%=book.getPublishDate()%> </b>
    <td class="altbg2">
    <b><%=book.getPublisher()%> </b> </td>
    <td class="altbg2">
    <b><%=book.getPrice()%> </b>
    </td>
    </tr>
    <%
    }
    %> </tbody>
    </table> <br />
    <center>
    <input class="button" type="button" value="返回"
    name="settingsubmit" onclick="location = 'book_form.jsp';">
    </center>
    </td>
    </tr>
    </tbody>
    </table> </body>
    </html>
      

  9.   

    你是在windows下用的MySQL吧    你可以用MySQL Server Instance Config Wizard  这个就是设置MySQL的自带程序吗 在里面有一步骤就是设置默认编码的    你直接选择gbk   或者utf-8
      

  10.   

    郁闷的是我在服务器上(linux)find不到my.ini或my.cnf文件。哎
      

  11.   

    貌似只有其中一个选项改变成utf8,其他的6个选项依然是默认值
      

  12.   

    set character_set_database=utf8