文档章节

中文乱码 解决思路

之渊
 之渊
发布于 2017/02/24 17:24
字数 650
阅读 7
收藏 0
点赞 0
评论 0

一般的 乱码 ,百度 就和很多 的解决办法了。 总之 乱码的 出现 总的 原因是 : 编码的时候 使用 一种 字符集, 解码的时候 使用 另一种 字符集。 不要 想着 使用一种 办法 或者 是 一段代码 ,把 所有的中文乱码 问题 都解决掉。 就是 要 知道 编码的时候 使用的是 什么 字符集, 解码的时候,我们使用 一样的 字符集即可。 这样的 办法 对于其他语言来说都是 适用的。

下面是 我遇到的 一种,让我比较郁闷的 方式,花费了 我比较多的 精力:

public static String sendPostRequest(String path,String param) throws IOException {
		String sendUrlString=path+param;
		
		URL url = new URL(sendUrlString);
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		//设置post方式请求
		conn.setRequestMethod("POST");
		
		//conn.setRequestProperty("Accept-Charset", "utf-8");
		//conn.setRequestProperty("contentType", "utf-8");
		conn.setRequestProperty("Content-type", "application/x-java-serialized-object");

		//设置传入参数
		conn.setDoOutput(true);
		//传入参数
		//conn.getOutputStream().write(param.toString().getBytes());
		// 解决中文乱码, 在 Linux 下没有乱码,本地有 ,估计 Linux 已经 帮我们转码了一次了。
		// 而且 Linux 下 的默认编码并没有 和 本地的一致,比如tomcat的啊, 系统的啊,没有 该为 默认中文的等。
		// 既然这样 在 Linux 下没有 乱码,可以不用管,如果以后  可以 去 修改 服务器里面的 编码。
		BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
		
		// 解决中文乱码,在 Linux 下有乱码,本地没有
		//BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"GBK"));
				
		
		String readingString= "";
		// 读取完所有内容
		String readl=null;
		while (( readl=reader.readLine() )!=null) {
			
			readingString=readingString+readl;
			
			readl=null;
		}
		
		
		
		return readingString;
		
	}

就是 这样奇怪, 本地 和 服务器 运行的 时候 获取的 中文有乱码, 使用 的 不同 办法 即可。 就是这样 郁闷,我一直想着 统一 起来,不要 让 某个 环境 下面乱码。

参考 地址: https://www.oschina.net/question/920274_144632 其他网友给我的 启发, 这样子的话, tomcat 或者是 nginx 都是需要配置的 统一字符集的。 原来的设置: LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" 现在改为: LANG="zh_CN.UTF-8" SYSFONT="latarcyrheb-sun16" 然后再运行,通过日志分析,其form表单 post提交过来的数据不再乱码。但是,存入到mysql数据库表中的数据是乱码,问题依然没有解决,于是,到/etc/下,打开my.cnf文件,修改3处地方: [client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 2、在[mysqld]字段里加入character-set-server=utf8,如下: [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock character-set-server=utf8 3、在[mysql]字段里加入default-character-set=utf8,如下: [mysql] no-auto-rehash default-character-set=utf8 修改完成后,标红的地方是我加的。service mysql restart重启mysql服务就生效

© 著作权归作者所有

共有 人打赏支持
之渊
粉丝 11
博文 505
码字总数 149495
作品 0
佛山
程序员
Spring MVC3返回JSON数据中文乱码问题解决

Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题。 Spring版本:3.2.2.RELEASE Jackson JSON版本:2.1...

双月通天
2015/10/14
209
0
【MySQL-20180117】MySQL终端无法输入中文

网上大部分都是MySQL终端输入中文出现乱码,然后更改MySQL server的字符集的操作,却缺少MySQL终端无法输入中文,将SQL语句粘贴复制到MySQL的终端中文无法显示: alter qsjxrecommend add co...

liuhuang9496
01/17
0
0
关于在ajax中传递中文引起的乱码问题。

测试了下,以form的形式提交,不管是ie或者google浏览器或者火狐都没出现乱码情况。 而放在 function editMenu() {var menuName = $("#menuName").val();menuName = encodeURIComponent(men...

巴顿
2013/09/09
0
5
NSIS custom page中多语言支持

大家好!我在封装一个软件时遇到一些问题,在这里请教各位了。谢谢! 我是用NSIS这个软件来封装软件的。在自定义页面中:有中文和英文,客户在安装时,在中文环境下安装是都能够正常显示的。...

YangChenfei
2012/03/06
1K
0
关于Python报错:SyntaxError: Non-ASCII character '\xe5' in file的解决方法

现象:最近需要抓取一些网页的信息,但发现Python的乱码问题相对Java来说,不太一样。按照以往Java解决中文乱码问题的思路去解决Python乱码,貌似行不通,报错信息: SyntaxError: Non-ASCII...

xyxo
2013/07/05
0
1
url 发送请求乱码解决。

来源:http://blog.csdn.net/shiqidide/article/details/6987449 最近遇到的这个问题,在百度找到的 发出来!作者地址是上面的网站 最近又碰到了中文乱码问题,这里我没有把数据库牵扯进来,...

机会到了可是你准备好了吗
2015/11/05
2.1K
1
利用iText和zxing生成和读pdf417二维码

前面的一些博文中已经提到了zxing这个开源工具生成和读取二维码图片,仅从学习的角度来看,可以告一个段落。在实际的生产环境中,应用zxing生成和读取二维码,却存在一些问题: 使用扫描枪读...

彭苏云
2014/03/06
0
0
spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500

问题描述 spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json数据报错:no convertter for retur...

陈守印
06/15
0
0
msysgit 中文乱码问题解决方法

msysgit安装好后处理中文是有问题的:ls中文目录/文件名乱码;提交中文的log,push到服务器上会乱码;git log查看服务器pull过来的log乱码。 1、ls命令列出的中文目录/文件名正确显示解决方法...

lieefu
2015/07/01
0
0
WEB项目中的中文乱码问题

目录: 一、Request中文乱码 二、tomcat 中文乱码 一、Request中文乱码 解决request中文乱码的问题 request.setCharacterEncoding(charset);必须写在第一次使用request.getParameter ()之前,...

peter8015
2016/03/15
43
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JEESZ分布式框架--单点登录集成方案

JEESZ分布式框架单点登录集成方案 第一节:单点登录简介 第一步:了解单点登录 SSO主要特点是: SSO应用之间使用Web协议(如HTTPS) ,并且只有一个登录入口. SSO的体系中有下面三种角色: 1) Us...

明理萝
1分钟前
0
1
【易错】一级缓存、二级缓存介绍与常见问题(四)

一般来说,可以在5个方面进行缓存的设计: 1.最底层可以配置的是mysql自带的query cache, 2.mybatis的一级缓存,默认情况下都处于开启状态,只能使用自带的PerpetualCache,无法配置第三方缓...

大白来袭
5分钟前
0
0
rancher安装kubernetes

参考https://rancher.com/quick-start/ 环境: Ubuntu 16.04 Docker versions are 1.12.6, 1.13.1 or 17.03.2 1、docker安装https://docs.docker.com/install/linux/docker-ce/ubuntu/#insta......

杰仪
5分钟前
0
0
几维安全Javascript代码混淆(js加密)在线使用说明

几维安全Javascript代码混淆是一项在线加密服务,用户只需将JS文件打包成zip包,提交到加密平台,即可完成代码混淆、字符串加密、属性加密、调用转换等多项保护措施,提高攻击者分析Javascr...

工作的事
8分钟前
0
0
解决dokuwiki创建中文词条文件乱码问题

若直接创建中文词条,打开本地文件夹\dokuwiki\data\pages你会发现,中文字段显示的是URL乱码,需要改一下utf8格式,方法如下:(linux系统亲测有效) 打开 .dokuwiki\conf\local.php 添加一行...

Rhymo-Wu
10分钟前
0
0
设置圆角长条progressbar背景色

1、首先在Drawable下面新建一个xml文件,将这段代码复制进去 <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-......

王先森oO
10分钟前
0
0
Java语言学习(九):异常处理

异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。常见的三种异常类型有: 检查性异常,如打开一个不存在的文件 运行时异常,如数组越界 错误,如栈溢出 ...

海岸线的曙光
14分钟前
0
0
深入分析golang多值返回以及闭包的实现

一、前言 golang有很多新颖的特性,不知道大家的使用的时候,有没想过,这些特性是如何实现的?当然你可能会说,不了解这些特性好像也不影响自己使用golang,你说的也有道理,但是,多了解底...

万建宁
14分钟前
0
0
img与background-image之间的区别

1.img <img src="图片来源" alt="图片无法显示时显示图片说明性文字" style="设置样式属性" /> img标签虽然不是块状元素,但是可以设置宽高,占位, img设置width后height会自适应匹配,如果...

爱喝水的小熊
16分钟前
0
0
Swift - 添加提示音

func createSound() { //建立的SystemSoundID对象 var soundID:SystemSoundID = 123 //获取声音地址 let path = Bundle.main.path(forResource: "3quan......

west_zll
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部