zoukankan      html  css  js  c++  java
  • 关于utf8 unicode gbk 编码乱码汇总

    首先从一个问题说起:

    插入一个中文到blob类型(mysql编码是utf-unicode-ci).

    insert into  blobtype(data) values('中文你好')

    复制数据显示为:

    �枃浣犲ソ * 

    这是为什么?

    blob存进去的出来为什么不是中文你好,因为编码的问题,我们复制后直接显示是asci编码。转成utf8编码就可以看到“中文你好”了。

    ansi为什么能显示中文?

    百科:不同的国家和地区制定了不同的标准,由此产生了 GB2312、GBK、Big5、Shift_JIS 等各自的编码标准。这些使用 1 至 4 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。简体中文Windows操作系统中,ANSI 编码代表 GBK 编码;在日文Windows操作系统中,ANSI 编码代表 Shift_JIS 编码。 不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。 当然对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符。这一点是ASNI编码与Unicode编码之间最大也最明显的区别。http://baike.baidu.com/view/1273097.htm?fr=aladdin

    unicode和utf8不是一个东西。

    中文你好 这4个字

    中文转unicdoe是u4e2du6587u4f60u597d。

    中文转utf8 

    http://tool.chinaz.com/Tools/UTF-8.aspx

    echo json_encode("中文"); //"u4e2du6587" 

    在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.

    一、先来看一些有趣的字符编码转换  

    代码 以GBK格式保存 以UTF-8格式保存
    String str = "cn中国";    
    java.net.URLEncoder.encode(str, "iso-8859-1") cn%3F%3F cn%3F%3F
    java.net.URLEncoder.encode(str, "gbk") cn%D6%D0%B9%FA cn%D6%D0%B9%FA
    java.net.URLEncoder.encode(str, "utf-8") cn%E4%B8%AD%E5%9B%BD cn%E4%B8%AD%E5%9B%BD
    new String(str.getBytes(),"iso-8859-1") cn???ú cn??????
    new String(str.getBytes(),"gbk") cn中国 cn涓�浗
    new String(str.getBytes(),"utf-8") cn?й? cn中国

    http://www.cnblogs.com/cy163/archive/2007/05/31/766886.html

  • 相关阅读:
    20201215王馨瑶 实验一《Python程序设计》实验报告
    20201215第十六周学习总结
    python笔记
    信导笔记
    成绩调节
    2020-2021-1 20201226 《信息安全专业导论》第十三周学习总结
    链表(补交)
    2020-2021-1 20201226 《信息安全专业导论》第十二周学习总结
    Wireshark 实践
    ssh
  • 原文地址:https://www.cnblogs.com/youxin/p/4093669.html
Copyright © 2011-2022 走看看