求救 数据库中内容正常,可通过java提出来输出到控制台之后就全是乱码了

图片说明

数据库的内容是由朋友写的爬虫爬取出来的内容,汉字部分一切正常

图片说明


图片说明

上面两个图是数据库中表的属性,似乎已经全部设置成utf8了,

java debug和以及java文件和工程编码之类的也都调成utf8了。

但一由java提取出来并且输出到控制台测试之后就全变成乱码了

图片说明

代码应该也没问题,很头疼,求大神指导!拜托!万分感谢,代码如下

public static final String url = "jdbc:mysql://localhost:3306/test?&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "*********";

public Connection conn = null;
public PreparedStatement pst = null;

public MySQLConnect(String sql) {
    try {
        Class.forName(name);// 指定连接类型
        conn = DriverManager.getConnection(url, user, password);// 获取连接
        pst = conn.prepareStatement(sql);// 准备执行语句
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void close() {
    try {
        this.conn.close();
        this.pst.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

static String sql = null;  
static MySQLConnect db1 = null;  
static ResultSet ret = null;  

public static void main(String[] args) {  
    sql = "select *from test";//SQL语句  
    db1 = new MySQLConnect(sql);//创建DBHelper对象  

    try {  
        ret = db1.pst.executeQuery();//执行语句,得到结果集  
        while (ret.next()) {  
            String uid = ret.getString(1);  
            String ufname = ret.getString(2);  
            String ulname = ret.getString(3);  
            String udate = ret.getString(4);  
            System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate );  
        }//显示数据  
        ret.close();  
        db1.close();//关闭连接  
    } catch (SQLException e) {  
        e.printStackTrace();  
    }  
}  

}

5个回答

编码集的问题,数据库和你的java中的编码不一致,首先你要确认你数据库的编码,然后对比,看问题结果

qq_36253437
饮水须思源 你好,我在图一图二里显示的数据库编码,应该都是utf8了呀,然后java里的也都设置成utf8了,可是还是这样呀
接近 2 年之前 回复

数据库原本是utf-8,连接字符串不要使用useUnicode=true只需要characterEncoding=utf8

qq_36253437
饮水须思源 你好,我只留下那部分控制台输出内容也依旧不变,public static final String url = "jdbc:mysql://localhost:3306/test?&characterEncoding=utf8";
接近 2 年之前 回复

可能是你tomcat的字符集问题,修改成utf8即可

qq_36253437
饮水须思源 你好,我只是debug as application,并没有涉及到tomcat呢
接近 2 年之前 回复

你看下你的eclipse中的编码

jdbc:mysql://localhost:3306/test?&characterEncoding=UTF-8

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
将控制台的内容输出到文件中
public void writeToFile(){ try { PrintWriter out = new PrintWriter(new FileWriter("d:\\myfile\\aaa.txt" )); out.println("hello"); out.flush(); out.close(); } catch (I...
控制台输入中文在输出到控制台乱码
Scanner scanner = new Scanner(System.in);rn String user_string = scanner.next();rn System.out.println("用户输入:"+user_string);[code=java][/code]rn这是我的代码rnrn石头rn用户输入:鐭冲ごrn输入错误!rn请输入石头或者剪刀或者布!rn这是结果rn设置了UTF-8了
IDEA log4j输出到控制台乱码
配置log4j输出到控制台文件编码 配置tomcat服务编码   -Dfile.encoding=UTF-8 IDEA 软件编码 安装目录bin目录下
将程序输出在控制台的内容输出到文档中
老师布置了一个小作业,需要将学校首页内容爬取下来。 我实现了内容爬取后,内容输出到了控制台。 我的目的是实现控制台内容输出成一个文本文档。 在网上搜索后找到了一种直接在Eclipse中设置 的方法。请参考如下博客: http://blog.csdn.net/yongh701/article/details/51499816 我是用了以后觉得非常好用。刚好这两天在学习java基础的IO
qt输出到控制台
qt输出到控制台
1.masm32-输出到控制台
复习MASM32,温故而知新
输出到控制台
c#:Console.Out.WriteLine(""); java:System.out.println(); iOS:NSLog();
输出到控制台屏幕正常,但是输出到文件就错了:(
using System;rnusing System.IO;rn class Class1rn rn static void Main()rn rn L6: Console.WriteLine("请输入含有中文的文本文件(gb2312):");rn string MAIL_BODY_ORIGINAL_PATH = Console.ReadLine().Trim();rn if (!File.Exists(MAIL_BODY_ORIGINAL_PATH)) Console.WriteLine("文件不存在!\n"); goto L6 ;rnrn Console.WriteLine("正在载入文本文件。。。。");rn StreamReader body_file_sr = new StreamReader(MAIL_BODY_ORIGINAL_PATH,System.Text.Encoding.GetEncoding("gb2312"));rn string main_body = body_file_sr.ReadToEnd();rn body_file_sr.Close();rn Console.WriteLine("载入成功!\n");rnrn L7: Console.WriteLine("请输入输出文件名:");rn string OUTPUT_FILE = Console.ReadLine().Trim();rn if ( OUTPUT_FILE.Length == 0 ) rn Console.WriteLine("输出文件名不能为空!\n"); goto L7 ;rnrn //在字符串main_body末尾添加长度不等的16进制随机字符串rn Random rnd_num = new Random();rn int ii = rnd_num.Next(1,300);rn for ( int i=0 ; i <= ii ; i++ )rn rn switch( rnd_num.Next(1,8) )rn rn case 1 : main_body = main_body + rnd_num.Next(0xa,0xf).ToString("x") + "\n"; break ; rn case 2 : main_body = main_body + rnd_num.Next(0xaa,0xff).ToString("x") + "\n"; break ; rn case 3 : main_body = main_body + rnd_num.Next(0xaaa,0xfff).ToString("x") + "\n"; break ; rn case 4 : main_body = main_body + rnd_num.Next(0xaaaa,0xffff).ToString("x") + "\n"; break ; rn case 5 : main_body = main_body + rnd_num.Next(0xaaaaa,0xfffff).ToString("x") + "\n"; break ; rn case 6 : main_body = main_body + rnd_num.Next(0xaaaaaa,0xffffff).ToString("x") + "\n"; break ; rn case 7 : main_body = main_body + rnd_num.Next(0xaaaaaaa,0xfffffff).ToString("x") + "\n"; break ; rn default : main_body = main_body + "\n" ; break ; rn rn rnrn //输出到控制台屏幕正常rn Console.WriteLine(main_body);rnrn //输出到文件,用notepad打开就发现所有的换行符都错啦!rn //全部变成了一个一个黑色方块!:(rn rn FileStream temp_fs = File.Create( OUTPUT_FILE) ;rn StreamWriter temp_sw = new StreamWriter((Stream)temp_fs,System.Text.Encoding.GetEncoding("gb2312"));rn temp_sw.Write(main_body);rn temp_sw.Close();rn temp_fs.Close();rn Console.Write("完成输出到文件!\n输入任意字符关闭!");rn Console.ReadLine();rn rn rn
从数据库读出的数据输出到控制台乱码
今天线上突然反应有图片显示不出来了,看了一下因为图片的名字里有中文乱码了,但是其他中文没有乱码,然后自己看了一下,配置文件都没发现问题,然后自己连数据库测试了一下,发现从数据库读出来的时候已经乱码了。rn图片是使用的七牛云,各位大神看一下什么情况,在线急求啊rn这是JDBC连接的配置rn[img=https://img-bbs.csdn.net/upload/201807/17/1531822204_883884.png][/img]rn这是tomcat的配置文件的配置rn[img=https://img-bbs.csdn.net/upload/201807/17/1531822269_622173.png][/img]rn这是mysql的编码rn[img=https://img-bbs.csdn.net/upload/201807/17/1531822341_197731.png][/img]
java 内容输出到log中
public Logger log = LoggerFactory.getLogger(Test.class); log.info("---------------输出内容-----------------"); Test :当前类名就可以
ubuntu 控制台输出到串口
1. vim /etc/default/grub 2. add console=ttyS0,19200 console=tty0 in cmd line 3. update-grub
vs 汇编输出到控制台
 代码写到一定量,了解下汇编先 .386 .model flat, stdcall option casemap :none includelib kernel32.lib includelib masm32.lib ExitProcess PROTO STDCALL:DWORD StdOut PROTO STDCALL:DWORD .data HelloWorld db &quot;Hello...
Jetty控制台输出到文件
[code=&quot;java&quot;] java -jar start.jar 2&gt;error.log 1&gt;stdout.log [/code]
窗体重定向输出到控制台
我想将窗体中的操作,如在TextBox中输入一个字符串“Hello”,然后在控制台窗口输出rntextbox1=Hello;rn就是做成像有限元软件,如MSC那种,做个操作,控制台都会有相应输出的rn这是我最后的70分了!rn大家一定要帮我啊
将信息输出到控制台
看java核心技术,有这么个关于java控制台的代码rnpackage md11;rnrnimport java.io.IOException;rnimport java.io.OutputStream;rnimport java.io.PrintStream;rnrnimport javax.swing.JFrame;rnimport javax.swing.JScrollPane;rnimport javax.swing.JTextArea;rnrnpublic class ConsoleWindows rn public static final int DEFAULT_WIDTH = 300;rn public static final int DEFAULT_HEIGTH = 200;rn public static final int DEFAULT_LEFT = 200;rn public static final int DEFAULT_TOP = 200;rn public static void init()rn JFrame jf = new JFrame();rn jf.setTitle("ConsoleWindow");rn final JTextArea output = new JTextArea();rn output.setEditable(false);rn jf.add(new JScrollPane(output));rn jf.setSize(DEFAULT_WIDTH, DEFAULT_HEIGTH);rn jf.setLocation(DEFAULT_LEFT, DEFAULT_TOP);rn jf.setVisible(true);rn jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);rn PrintStream ps = new PrintStream(new OutputStream()rnrn @Overridern public void write(int arg0) throws IOException rn // TODO 自动生成方法存根rn rn rn public void write(byte[] b,int off,int len)rn output.append(new String(b,off,len));rn rn rn );rn System.setErr(ps);rn System.setOut(ps);rn rnrn这个写完了之后,我想在控制台上面输出信息,该怎么调用?
eclipse控制台输出到文件
很多时候,特别是项目较大或者测试输出较多的时候,控制台中显示的log会被覆盖掉,这就很影响我们观察程序运行的情况了,   为了解决这个问题,第一种方式是去设置console的limit line,第二种方式是将控制台的输出导入到文件中。   对于第二种方式,进行如下操作:要运行的程序——>run as——>Run Configurations——>Common——>nput File,指定一下
log4j 输出到控制台 失败
RT,问题如下。能正常输出到文件,但是输出到控制台失败。rn使用 system.out.print 是能正常输出信息到控制台。rn代码如下:rn[code=text]log4j.rootLogger = stdout, Drnrn## 输出到控制台 ###rnlog4j.appender.stdout = org.apache.log4j.ConsoleAppenderrnlog4j.appender.stdout.Threshold = DEBUGrnlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutrnlog4j.appender.stdout.Target = System.outrnlog4j.appender.stdout.layout.ConversionPattern = %dyyyy-MM-dd HH:mm:ss %-5p [%t] (%F:%L) - %m%nrnrn### 输出到日志文件 ###rnlog4j.appender.D = org.apache.log4j.DailyRollingFileAppenderrnlog4j.appender.D.File = $catalina.base/logs/com.ss.admin/debug.logrnlog4j.appender.D.DatePattern ='_'yyyyMMddrnlog4j.appender.D.encoding = UTF-8rnlog4j.appender.D.Append = truernlog4j.appender.D.Threshold = DEBUGrnlog4j.appender.D.layout = org.apache.log4j.PatternLayoutrnlog4j.appender.D.layout.ConversionPattern = %-dyyyy-MM-dd HH:mm:ss,SSS [ %t:%r ] - [ %p ] - [ %l ] %n %m%nrn[/code]
调试输出到DOS控制台
调试输出到DOS控制台:rn怎样设置,将VC的调试输出到DOS控制台,rn这样编译后的调试程序,离开vc环境后,也能够向dos控制台输出调试信息
log4qt 输出到控制台和文件
输出到控制台 // 创建一个 TTCCLayout(输出时间、线程、Logger 以及消息内容) Log4Qt::Logger *logger = Log4Qt::Logger::rootLogger(); Log4Qt::TTCCLayout *layout = new Log4Qt::TTCCLayout(); layout-&amp;amp;gt;set...
关于输出到控制台的问题
在lotus代理中:rn web下(msgbox "")即可rn c/s下如何输出到控制台呢?rnrn在公式中:rn 又如何做呢?????
Python研究学习--37--控制台内容输出到本地文件中
将控制台内容输出到本地txt文件中,代码如下: (在本系列第33篇中有用到) class Output(object): # 控制台内容生成txt报告 def __init__(self, check_filename = &quot;default.log&quot;): self.terminal = sys.stdout self.log = open(check...
eclipse中把控制台的日志内容输出到本地文件
在run下打开run configurations: 选择想设置的tomcat,点击右边的common,在output file中填入想输出到本地文件的路径,apply应用即可
把xml文件中的某一属性的内容输出到控制台
比如说我有一个xml,内容如下:rnrnrnrnrnrnrnrnrn我想在控制台输出去重后的学生姓名,如下:rnrn张三rn李四rn王五rn赵六rn田七
MFC中增加输出到控制台
MFC中添加控制台
在LotusScript中如何输出到控制台?
在LotusScript中如何输出到控制台?rn代码应该怎么写,谢谢!
log4j输出到日志文件乱码
log4j.rootLogger=DEBUG,CONSOLE,A log4j.addivity.org.apache=false log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=DEBUG log4j.appender.CONSOLE.layout.Conversion
ajax输出到前台乱码
后台:Print "Content-Type:text/html;charset=utf-8"
数据库内容输出到WORD,怎么分页 ?
rn 其中一个 text 字段文本很大,WORD一页不能显示完。我用的 Ole 方法输出rnrn的。 发现当一行文本字数很多时,它便自动跳到下一页去了,跟上面的表格rnrn断开了,并且,它只能在一页内显示,其他的显示不出来,不能自动续页。rnrn 怎么解决这个问题 ? 谢谢解答 。
求救!myeclipse控制台乱码~
文件为upf8编码,rn项目也是,rnworkspace也是,rn文件spelling也是,rnrnmyeclipse6.5控制台打印小语种显示问号,rnmyeclipse8.5控制台显示正常。rnrn小语种指韩文,泰文,等。rnrn谢谢!rnrn感觉像是两个myeclipse的upf8用的不是一个版本的。
Java文本框的内容如何输出到文件
Java文本框的内容如何输出到文件?rn
【Java】如何将文字内容输出到文件
一、问题 如何将文字写到文件(file)中,并以文件的形式保存下来; 二、分析 1、首先,我们要有文件内容,这个好办,随便你写; 2、文件写好要保存在哪里,这个要告诉系统,不然你让他保存,又不给他一个合理的地方,他会无所适从; 3、我们需要把文件的内容,以流的形式放到文件中;让系统使用输出流将内容输出到文件里,这里不是输入流,我们要以系统为核心,而不是以文件为核心; 三、解决 String pat...
如何把内容输出到
如何把内容输出到这里rn除了innerHTML外rnResponse方法可以吗?
eclipse有没有把控制台的内容输出到文件的设置啊
如题:j2se下rnrn控制台信息太多,程序跑完后只能保留最后的一部分之前的都找不到了!!rneclipse有没有把控制台的内容输出到文件的设置呢?rnrn谢谢!!
eclipse控制台打印内容太多,直接输出到文件
相信大家都遇到这样的问题,很多时候我们也都会通过打印到文件的操作去解决这种问题,但是对于一些自己写的小的测试代码,实在是不想那么麻烦,这个时候肯定想到是不是ide会为了我们提供解决方法呢,我经过小小的探索发现了还真有,哈哈哈大家肯定想到的第一个就是让eclipse的console内容行数调节的大一点,当然是可以的,这里也给出个小方法直接在eclipse的console点击右键,选择preferen...
String中的内容输出到txt文件中去
假设String str = "adsasdasdasd";rn如何创建一个文件名为变量的txt文件,里面只有strrn谢谢
jsp页面中的内容直接输出到浏览器
jsp页面中的内容直接输出到浏览器 跟jdk,tomcat,编译器无关,故不介绍版本 导致这样的现象是因为在web.xml中配置了 “` python /index.jsp
datagrid内容输出到excel表格中???
请问在VB中怎么把datagrid的内容输出到excel表格中呀???请详细说来,谢谢了。
将xml内容输出到div中
note.xml文件结构: George John Reminder Don't forget the meeting! a John Reminder Don't forget the meeting! George John Reminder Don't forget the meeting! 利用js将xml输出到div中: .aaaa{
如何将listbox中的内容输出到文本框?
如何将listbox中的内容输出到文本框?
阻止scrapy的debug信息输出到控制台
原文:https://blog.csdn.net/Cristal_tina/article/details/53739378    一般采用该条命令启动 scrapy crawl spider_name         但是,由这条命令启动的爬虫,会将所有爬虫运行中的debug信息及抓取到的信息打印在运行窗口中。很乱,也不方便查询。所以,可使用该命令代替: scrpay crawl spid...
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件