javautf8
1. java怎么设置为utf-8的编码
要让一个
Java
源文件打开时编码格式为
UTF-8,需要做2件事情:
1)设置Java
源文件的默认编码格式为UTF-8;
2)设置workspace的编码格式为UTF-8。
相应设置如下:
设置
Java
源文件的默认编码格式为
UTF-8
在
Windows->Preference
页面中,选择
General->Content
Types
在右边的框中,选择
Text->Java
Source
File,将下面的
Default
Encoding
改为
UTF-8
设置
workspace
的编码格式为
UTF-8
在
Windows->Preference
页面中,选择
General->WorkSpace
选择右侧框中的
Text
File
encoding,改为
UTF-8
设置完这2处,默认打开
Java
源文件就是UTF-8编码了。
2. java怎么设置utf8
服务器端
修改数据库配置文件/etc/my.cnf
character-set-server=utf8mb4
collation_server=utf8mb4_unicode_ci
重启MySQL(按照官方文档,这两个选项都是可以动态设置的,但是实际的经验是Server必须重启一下)
已有的表修改编码为utf8mb4
ALTER TABLE
tbl_name
CONVERT TO CHARACTER SET
charset_name;
使用下面这个语句只是修改了表的default编码
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
客户端
jdbc的连接字符串不支持utf8mb4,这个 这种方式 来解决的,如果服务器端设置了character_set_server=utf8mb4,则客户端会自动将传过去的utf-8视作utf8mb4。
Connector/J did not support utf8mb4 for servers 5.5.2 and newer.
Connector/J now auto-detects servers configured with character_set_server=utf8mb4 or treats the Java encoding utf-8 passed using characterEncoding=... as utf8mb4 in the SET NAMES= calls it makes when establishing the connection. (Bug #54175)
其他的client端,比如php、python需要看下client是否支持,如果不能在连接字符串中指定的话,可以在获取连接之后,执行”set names utf8mb4″来解决这个问题;
因为utf8mb4是utf8的超集,理论上即使client修改字符集为utf8mb4,也会不会对已有的utf8编码读取产生任何问题。
3. java如何把string转为utf-8
java不同编码之间进行转换,都需要使用unicode作为中转。
String str = "任意字符串";
str = new String(str.getBytes("gbk"),"utf-8");
备注说明:
str.getBytes("UTF-8"); 意思是以UTF-8的编码取得字节
new String(XXX,"UTF-8"); 意思是以UTF-8的编码生成字符串
举例:
public static String getUTF8XMLString(String xml) {
// A StringBuffer Object
StringBuffer sb = new StringBuffer();
sb.append(xml);
String xmString = "";
String xmlUTF8="";
try {
xmString = new String(sb.toString().getBytes("UTF-8"));
xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");
System.out.println("utf-8 编码:" + xmlUTF8) ;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// return to String Formed
return xmlUTF8;
(3)javautf8扩展阅读:
UTF-8编码规则:
如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。
实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成,首字节连续的1的个数表示字符编码所需的字节数。
Unicode转换为UTF-8时,可以将Unicode二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。
4. 怎么用java把一个字符串进行utf8编码
String text = “字符串”;
byte[] b_utf8 = text.getBytes("UTF-8"); //utf-8
byte[] b_iso88591 = text.getBytes("ISO8859-1"); //iso8859-1
byte[] b_gbk = text.getBytes("GBK"); //gbk
string unicode = getUnicode(text);//unicode
public static String getUnicode(String source) {
String result = "";
for (int i = 0; i < source.length(); i++) {
result += "\u"+Integer.toHexString((int) source.charAt(i));
}
return result;
}
5. 怎么使java输出的文件以UTF-8编码
代码如下:
(Stringname)throwsFileNotFoundException,UnsupportedEncodingException{
FileOutputStreamoutputStream=newFileOutputStream(name);
=newOutputStreamWriter(outputStream,"utf-8");
BufferedWriterwriter=newBufferedWriter(outputWriter);
returnwriter;
}
6. 怎么用java输出一个正确的utf-8文件
该方法是这样一种方法java.io.DataOutput中的接口。点击看详细下面是一个参考JDK1.5:点击看详细java.io
接口DataOutput中
中国所有已知子接口:
的ImageOutputStream,
的ObjectOutput
中国所有已知实现类:
DataOutputStream正好,FileCacheImageOutputStream,FileImageOutputStream,ImageOutputStreamImpl,MemoryCacheImageOutputStream,ObjectOutputStream中,RandomAccessFile的 BR>
中国公共接口DataOutput中点击看详细的DataOutput接口,任何Java原始类型到一系列的字节,写这些字节转换为二进制流。它也提供了一个串将被转换成UTF-8格式的版本,并写入所得到的系列工具字节。说明
中国
看writeInt()方法:点击看详细writeIntvoid writeInt(int v)按抛出IOException异常,点击看详细
1写入到输出流int值,它由4个字节。要写入的字节值(按顺序)为:
(字节)(0xFF的&(V >> 24))
中国(字节)(0xFF的& (V >> 16))
中国(字节)(0xFF的&(V >> 8)),点击看详细
(字节)(0xFF的&V)的
字节写这个方法可以读取的readInt方法DataInput中的接口,则该方法返回一个int值,等于V的。
中国
中国参数:
V - int值写入。点击看详细上面的描述中,此方法被用于一个4字节整数数据转换成一个字节,然后写入到二进制流。如果你写一个文件,那么该文件是一个二进制文件,而不是文本文件。
中国
在使用时,如果你使用writeInt()这样的方法(writeDouble,writeFloat等),然后读取时间,则必须使用该接口实现DataInput中读取输入流。还要写的顺序读取:示例:
中国com.test包;点击看详细进口java.io.BufferedInputStream中;
进口java.io.BufferedOutputStream;
进口java.io.ByteArrayInputStream中;
进口java.io.ByteArrayOutputStream中;
进口java.io.DataInput中的;
进口java.io.DataInputStream中;
进口java.io.DataOutput中;
进口java.io.DataOutputStream中;点击看详细公共类的数据流中{
公共静态无效的主要(字串[] args){
尝试{//
这里是输出,这里是输出到存储
ByteArrayOutputStream BOS =新ByteArrayOutputStream();
DataOutputStream的DOS =新DataOutputStream的(新的BufferedOutputStream(BOS));
dos.writeInt(22);
dos.writeDouble(33.33);
dos.writeLong(33升);
dos.writeBoolean(真正的);
dos.writeChar('A');
dos.writeByte(33);
dos.writeFloat(44.4f);
dos.flush();
//这里是从内存中输入在这里,只需输入
的DataInputStream解散=新的DataInputStream(新的BufferedInputStream为(新ByteArrayInputStream的(bos.toByteArray())));
的System.out.println(dis.readInt());
的System.out.println(dis.readDouble());
的System.out.println(dis.readLong());
的System.out.println(dis.readBoolean());
的System.out.println(dis.readChar());
系统。通过out.println(dis.readByte());
的System.out.println(dis.readFloat());
dis.close();
bos.close();
}赶上(例外五){
}
}点击看详细}
中国 BR>
上述程序最后的打印语句,可以更改顺序,结果应该是因为你不写的一样,那就是,造成读取错误,因为一些想读,写的顺序相同。
7. java怎么把把字符转成utf-8
java不同编码之间进行转换,都需要使用unicode作为中转。
以utf-8转gbk为例,示例代码如下:
String t = "这是一个字符串aaa111";
String utf8 = new String(t.getBytes( "UTF-8"));
System.out.println(utf8);
String unicode = new String(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
String gbk = new String(unicode.getBytes("GBK"));
System.out.println(gbk);
8. java下如何设置utf-8
可以直接在开发工具中设置java文件的编码:
eclipse文件编码设置:
1. 点击window。
2. 在列表最下点击reference。
3. 在reference界面点击Workspace
4. 在右边的Tex file encoding点击Other。
5. 选择 GBK或者 UTF-8编码即可。
9. 怎么在java里设置utf-8
如图所示,右键点击文件名,在右键菜单里选择 Properties,可以设置文件编码,选择UTF-8就可以了
10. 怎么在java里设置utf-8
如图所示,右键点击文件名,在右键菜单里选择
Properties,可以设置文件编码,选择UTF-8就可以了