Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database latin1character_set_filesystem binary
character_set_results utf8
character_set_server latin1character_set_system utf8
页面使用的是UTF-8在插入数据的时候
temp.setReplycontent(new String(content.getBytes("ISO-8859-1")));
这里写什么在读取出来的时候才不会出现乱码的问题了
请大家帮帮忙啊

解决方案 »

  1.   

    在mysql的服务安装目录找到my.ini里面有两个编码设置的地方都改下,重启服务就行了;
      

  2.   


    远程免费的MYSQL服务器 不让改 
      

  3.   

    建表的时候给表和字段都指定编码方式
    连接url也加上?useUnicode=true&characterEncoding=UTF-8
      

  4.   


    package com;import java.io.UnsupportedEncodingException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.util.Date;
    import java.util.Map;import javax.servlet.jsp.jstl.sql.Result;
    import javax.servlet.jsp.jstl.sql.ResultSupport;public class DbHelp { private static String driver = "com.mysql.jdbc.Driver";
    private static String url = "jdbc:mysql://localhost:3306/liubei?useUnicode=true&characterEncoding=UTF-8";
    private static String user = "root";
    private static String pwd = "root"; /**
     * 获得连接
     */
    public static Connection getConnection() {
    Connection conn = null;
    try {
    Class.forName(driver);
    conn = DriverManager.getConnection(url, user, pwd);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return conn;
    } public static void main(String[] args) throws UnsupportedEncodingException {
    save(
    "insert into messageboard (name,sex,content,msgdate) values(?,?,?,?) ",
    new Object[] { "刘贝".getBytes("utf-8"), 1, "内容", new Date() });
    Map[] map = runSelectSql("select * from messageboard ", null).getRows();
    for (Map map2 : map)
    // System.out.println(map2);
     System.out.println(new String(map2.get("name").toString().getBytes(
     "iso-8859-1"))); } public static void save(String sql, Object[] obj) {
    Connection conn = getConnection();
    try {
    PreparedStatement pst = conn.prepareStatement(sql);
    if (obj != null) {
    for (int i = 0; i < obj.length; i++) {
    pst.setObject(i + 1, obj[i]);
    }
    }
    pst.execute();
    } catch (Exception e) {
    e.printStackTrace();
    }
    } /**
     * 执行返回Result
     */
    public static Result runSelectSql(String sql, Object[] obj) {
    Result result = null;
    Connection conn = null;
    PreparedStatement pst = null;
    try {
    conn = getConnection();
    pst = conn.prepareStatement(sql);
    if (obj != null) {
    for (int i = 0; i < obj.length; i++) {
    pst.setObject(i + 1, obj[i]);
    }
    }
    result = ResultSupport.toResult(pst.executeQuery());
    } catch (Exception e) {
    e.printStackTrace();
    }
    return result;
    } /**
     * 执行返回成功与否
     */
    public static boolean runUpdateSql(String sql, Object[] obj) {
    Connection conn = null;
    PreparedStatement pst = null;
    try {
    conn = getConnection();
    pst = conn.prepareStatement(sql);
    if (obj != null) {
    for (int i = 0; i < obj.length; i++) {
    pst.setObject(i + 1, obj[i]);
    }
    }
    int i = pst.executeUpdate(sql);
    if (i != 0) {
    return true;
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    return false;
    }}简单的测试 还是不行 希望有人帮忙下
      

  5.   

    你的字段编码方式也要弄成utf-8的
      

  6.   

    http://www.west263.com/info/html/chengxusheji/Javajishu/20080225/44287.html看看
      

  7.   

    建表时候约束下编码格式,在my.INI改编码~
      

  8.   

    在my.ini里面添加default-character-set=utf8,jsp页面把编码设置为utf8,java文件的编码也设置为utf8,tomcat的编码也设置为utf8
      

  9.   

    CREATE TABLE `messageboard` (
      `id` INTEGER(11) NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(20) COLLATE utf8_general_ci DEFAULT NULL,
      `sex` INTEGER(11) NOT NULL,
      `content` VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT '',
      `msgdate` DATETIME DEFAULT NULL,
      `replyid` INTEGER(11) DEFAULT NULL,
      PRIMARY KEY (`id`)
    )ENGINE=InnoDB
    AUTO_INCREMENT=140 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'
    COMMENT='InnoDB free: 4096 kB'