ajax从txt读取文件显示到页面乱码,这样显示�dz�ǿ��.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax从txt读取文件显示到页面乱码,这样显示�dz�ǿ��.相关的知识,希望对你有一定的参考价值。
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<script charset="utf-8" type="text/javascript">
function loadXMLDoc()
var xmlhttp;
if (window.XMLHttpRequest)
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
else
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function()
if (xmlhttp.readyState==4 && xmlhttp.status==200)
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
xmlhttp.open("get","test.txt",true);
xmlhttp.send();
</script>
</head>
<body>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">通过 AJAX 改变内容</button>
</body>
</html>
怎么解决读取txt文件读取时中文乱码问题
从SDCard保存的txt文件读取中文到android系统中会出现乱码问题,如何解决这个乱码问题,网上有不少解答方法,譬如说利用String temp1 =EncodingUtils.getString(strLine.getBytes(),"GB2312"); 但并非对所有的情况都适用,解决乱码问题首先要明白为什么会乱码。究其原因,是因为txt文件在win系统上保存时默认为ANSI格式,而android目前只支持UTF-8编码,因此将txt文件的中文读入android系统中会产生乱码。也有人说直接将txt另存为UTF-8编码格式来解决乱码问题,但这种方法指标不治本,不能要求用户手动去更改格式,客户第一嘛。因此还是需要想办法在程序中进行处理。以下做了一些编码格式的测试:
测试文本: 122.11196,29.90573,北仑固废厂 测试代码段:
reader=new BufferedReader(new FileReader(filename));
strLine=reader.readLine() ;
String temp1 = EncodingUtils.getString(strLine.getBytes(),"GB2312");
String temp2 = EncodingUtils.getString(strLine.getBytes("utf-8"),"utf-8");
String temp3 = EncodingUtils.getString(strLine.getBytes(),"utf-8");
将文件存成 Unicode 格式
这种方式能得到非乱码的中文显示,但对于 utf-8 格式下取得的经纬度数字利用double lon = Double.parseDouble(lat); 报错 NumberFormatException,原因可能是 parseDouble(lat)方法不能处理存成utf-8格式的带标点小数。 将文件 存成 ANSI 格式
将代码改为:
reader = new BufferedReader(new InputStreamReader(new FileInputStream(filename),"GB2312"));
strLine=reader.readLine() ;
String temp1 = EncodingUtils.getString(strLine.getBytes(),"GB2312");
String temp2 = EncodingUtils.getString(strLine.getBytes("utf-8"),"utf-8");
String temp3 = EncodingUtils.getString(strLine.getBytes(),"utf-8");
即解决了中文乱码问题,又解决了Double.parseDouble(lat)报错问题。 参考技术A 又是你啊,上午已经回答了你一个问题了。你的编码格式设置下就可以了。import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.RandomAccessFile;public class Random public static void main(String[] args) throws Exception int lineCount = 0; File f = new File("E:\\数学3班.txt"); RandomAccessFile raf = new RandomAccessFile(f, "r"); java.util.Random r1 = new java.util.Random(); BufferedReader buffer = new BufferedReader(new InputStreamReader( new FileInputStream(f))); while (buffer.readLine() != null) lineCount++; int a = r1.nextInt(lineCount); int i = 0; while (raf.readLine() != null) i++; if (i == a) String temp = raf.readLine(); System.out .println(new String(temp.getBytes("iso8859-1"), "GBK")); 参考技术B
TXT文件另存,更改编码格式为ANSI
以上是关于ajax从txt读取文件显示到页面乱码,这样显示�dz�ǿ��.的主要内容,如果未能解决你的问题,请参考以下文章
MyEclipse9读取properties配置文件在jsp页面中显示乱码
jsp页面显示数据库中的文本数据 包含空格汉字数字等 显示出来的老是乱码
我很苦恼啊!求教:mysql里面显示数据正常,但用jsp页面读取并显示出来时却是乱码的!
用java读取txt文件中的中文写入数据库出现中文乱码,怎么解决?