Java 读取 MySQL 中文 乱码
Java 读取 MySQL 中文 乱码
场景:Java,eclipse,读取MySQL数据库,MySQL编码为utf-8
问题:读出来的中文在eclipse的输出窗口中显示为乱码
错误的写法
1
System.out.print(new String( rs.getString("bib_author").getBytes("utf-8"),"GBK" ));
2
System.out.print( rs.getString("bib_author"));
Java中统一使用Unicode编码。
正确的写法:
System.out.print(new String (rs.getBytes("bib_author"),"utf-8") + " ");
如划线加粗部分所示,应该先用二进制方式读进来,然后再转化为utf-8方式,和数据库中的编码一致。
下面是之前碰到过的一个例子,从web服务器读取数据,并转化为utf-8。web服务器使用的是iso-8859-1编码。
同样也是先用getbytes方式先获取二进制流,然后转成utf-8。
-------------------------------------------------------------------------------------------
3个地方设置编码,解决乱码问题
public static String GetResponse(HttpMethodBase Method) throws IOException {
String charset= Method.getResponseCharSet();
System.out.println("返回的字符编码为:"+charset);
InputStream responseBody = Method.getResponseBodyAsStream();
// BufferedReader br = new BufferedReader(new InputStreamReader(responseBody));
BufferedReader br = new BufferedReader(new InputStreamReader(Method.getResponseBodyAsStream(), "ISO-8859-1"));//1
String tempbf;
StringBuffer htmlbf = new StringBuffer(100);
while ((tempbf = br.readLine()) != null) {
// htmlbf.append(tempbf);
htmlbf.append(new String(tempbf.getBytes("iso-8859-1"),"utf-8"));//2
htmlbf.append("\n");
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
什么是URI
Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通过通
用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。
URI一般由三部分组成:
访问资源的命名机制。
存放资源的主机名。
资源自身的名称,由路径表示。
考虑下面的URI,它表示了当前的HTML ......
java获得windows系统时间有误的解决方案
今天遇到了一个很奇怪的问题,就是利用获取系统当前时间的时候,总是与实际的时间相差8个小时,十分郁闷。
无论是使用
&n ......
String str = "[010101]+[010102]";
String ss = "
System.out.println(ss); // \[010101]
[ 是特殊字符,
需要用反斜杠 \[ 对其进行转义
\\[010101]";
String ssss = "
\\ ......