webプロジェクトでよくある文字化け問題
1657 ワード
ウェブプロジェクトを開発すると、要求インターフェースが文字化けしたり、フォームが文字化けしたり、データベースに入れて文字化けしたり、ウェブページが文字化けしたりすることがよくあります。
文字化けの理由は簡単で、いずれもデータ送信者と受信者の符号化が一致しないためであるが、具体的には実現され、構成されているところが多く、以下に一般的な符号化設定(java項目に対して、utf-8符号化が統一的に使用されている)を列挙する。
nginx配置(GET文字化)
文字化けの理由は簡単で、いずれもデータ送信者と受信者の符号化が一致しないためであるが、具体的には実現され、構成されているところが多く、以下に一般的な符号化設定(java項目に対して、utf-8符号化が統一的に使用されている)を列挙する。
nginx配置(GET文字化)
server {
.....
charset utf-8,gbk;
}
tomcat配置(GET文字化)
spring配置(GET文字化)@RequestMapping(method = RequestMethod.GET,value="/xxxx",
produces="text/html;charset=UTF-8")
web.xml配置(POST文字化け)
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
データベース接続jdbc:mysql://x.x.x.x:3306/xxxx?useUnicode=true&characterEncoding=utf8
データベースとテーブルの定義CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
create table blog_user
(
...
)engine=innodb default charset=utf8 auto_increment=xxx;
データベース配置ファイル(my.cnf)[mysqld] default-character-set utf8
[mysql]default-character-set=utf8
データベースクライアント接続SHOW VARIABLES LIKE ‘character_set_%’;
set names utf8;
以上の構成は、基本的には通常のウェブプロジェクトのデータの提出と展示を行うことができます。