本来是"UTF-8"编码,是没有乱码的,
但是我写程序老是容易会中英字符混淆,就是因为输入法切换导致中文符号混入,于是我windows更新成
non-Unicode程序默认用英文。
然后之前写的中文字符串全都变乱码了,但是网页是正常的。
现在写的中文字符串代码里不是乱码,但是网页里是乱码,请问我该怎么办?
谢谢。
本来是"UTF-8"编码,是没有乱码的,
但是我写程序老是容易会中英字符混淆,就是因为输入法切换导致中文符号混入,于是我windows更新成
non-Unicode程序默认用英文。
然后之前写的中文字符串全都变乱码了,但是网页是正常的。
现在写的中文字符串代码里不是乱码,但是网页里是乱码,请问我该怎么办?
谢谢。
8 回答6.5k 阅读
4 回答697 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答968 阅读✓ 已解决
乱码问题的出现可能各种原因, 每种解决办法都不太一样, 建议你根据情况网上搜一下相应的解决办法.
基本原则是向 UTF-8 靠拢
统一编码, 尽量不做/少做编码转换, 减少不兼容问题
以下的办法仅是提供线索, 你要自己详细了解每一个方案的细节.
大体上分这几种:
操作系统乱码
Linux 下更常见, 办法是把 local, language 等系统变量统一成 zh_CN.UTF-8
数据库乱码
解决方案是对数据库, 表, 表文本字段指定字符集, 如 utf-8, 需要支持 emoji的要用utf8mb4, jdbc连接字符串也要指定使用 utf-8
Tomcat 乱码
解决办法: 1. server.xml 设URIEncoding, 2. 使用 Filter 对全部请求过虑转换, spring 里有专门Filter, 几乎每个项目的标配.
Jsp 文件乱码
解决办法
HTML 乱码
Java 源码乱码
Eclipse 下
其他 IDE 也可以设置统一偏好, 但还是那句话, 向 UTF-8 靠拢.
文体文件乱码
有两个转码工具: native2ascii, iconv 可以批量对源文件进行转码.
String 乱码
可以
target = new String(src.getBytes('原始编码'), '目标编码')
的方式转换