最近项目中java需要和C++端交互,底层都是socket,调用接口的时候,单元测试没问题,但是放到tomcat运行发现响应的数据乱码,不是页面展示乱码,是使用C++接口库响应的就是乱码,于是一步步跟踪下去,发现在解析字节数据到字符串的时候使用的就是new String(byte[] data),
这里有个问题就是该构造函数的编码问题!
可以使用Charset.defaultCharset().name()打印出来看看,结果一看,junit中打印出来是UTF-8,tomcat中运行的时候是GBK!
这里需要设置下tomcat的编码,在tomcat8的catalina.bat中找到set "JAVA_OPTS=%JAVA_OPTS%,两处后面都加上 -Dfile.encoding=UTF-8;这里改完后单独启动tomcat没问题了,如果是在eclipse中启动tomcat默认编码还是GBK,这里需要如下修改eclipse里面tomcat启动参数
Run-RunConfiguration-ApacheTomcat-tomcat8-Arguments,在VM atguments最后加上Dfile.encoding=UTF-8,启动OK!
分享到:
相关推荐
4. **文件上传处理**:在处理文件上传时,确保使用正确的编码读取文件内容,例如在使用Apache Commons FileUpload时,设置`defaultCharset`属性。 接下来,我们关注“Myeclipse光标跳动的解决”。这是一个影响...
- **auth**: 指定数据源认证模式,这里设置为“Container”,表示由容器管理认证过程。 - **type**: 数据源的 Java 类型,这里是`javax.sql.DataSource`。 - **driverClassName**: 数据库驱动类的全限定名。 - **url...
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` - `id`:整型字段,主键。 - `data`:文本字段,存储数据。 #### 五、总结 通过以上步骤,我们不仅了解了如何在Tomcat中配置数据源,还学会了如何通过编写简单的Java...
在`struts-default.xml`或自定义的配置文件中添加以下配置: ```xml ``` 这样,Struts 2会自动将接收到的POST请求数据按照GBK编码进行解码。 除了以上的基本设置,还需要注意以下几点: 1. **页面编码**:确保...
Java 中 MySQL 中文乱码问题是数据库开发中常见的问题之一,解决这个问题需要对数据库、JSP 和 Tomcat 进行相应的设置。下面我们将详细介绍解决该问题的方案。 数据库编码修改 首先,我们需要修改 MySQL 数据库的...
需要自己配置tomcat数据源,再建立一个数据库,添加一个表 CREATE DATABASE `mail_db`; use database mail_db; CREATE TABLE `user` ( `id` int(4) NOT NULL auto_increment,...) ENGINE=InnoDB DEFAULT CHARSET=utf8;
charset UTF-8; #设定本虚拟主机的访问日志 access_log logs/host.access.log main; #对 "/" 所有应用启用负载均衡 location / { proxy_pass http://127.0.0.1; #保留用户真实信息 proxy_set_header...
这个一个快速入门的SSM项目,包括CRUD功能,运行环境是IDEA,jdk1.8 ,tomcat7.0, mysql5.7.3 导入项目直接运行即可,没有bug. 条理清晰,以前自己学习时没有找到可以之间运行的...) ENGINE=INNODB DEFAULT CHARSET=utf8
一、开发此系统的目的: ...CREATE DATABASE IF NOT EXISTS aeaihr DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 2, 将aeaihr_mysql.sql导入到数据库中 3, 将hr.war放到tomcat目录/webapps/ 下, 重启tomcat
<package name="default" namespace="/" extends="struts-default"> <result name="success">/helloWorld.jsp ``` 最后,创建一个JSP页面(helloWorld.jsp)来显示结果。在WebContent目录下创建helloWorld...
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` 2.组织表(organization) ````sql CREATE TABLE `organization` ( `org_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '组织编号', `org_name` varchar(20) NOT NULL ...
-DDEFAULT_CHARSET=utf8 \ -DEXTRA_CHARSETS=all ``` 这里配置了MySQL的安装路径、数据目录、默认字符集等关键参数。 - **编译MySQL**: ```bash make ``` - **安装MySQL**: ```bash make install `...
在Java中,`java.nio.charset.Charset.defaultCharset()`方法可以获取系统默认的字符编码。`getBytes()`方法会根据平台默认的字符编码对字符串进行编码,这可能导致乱码问题,尤其是当服务器和客户端的默认编码不...
在Java编程中,`java.nio.charset.Charset.defaultCharset()`方法可以获取当前系统的默认字符编码。`getBytes()`方法则是根据平台默认字符集对字符串进行编码。如果在不知道具体编码的情况下直接使用,可能会导致...
2. **Fckeditor配置**:在Fckeditor的配置文件(通常为fckconfig.js)中,设置正确的编码参数,如`Config.DefaultCharset = 'utf-8';`,确保编辑器内部处理数据时使用UTF-8编码。 3. **文件读写操作**:在服务器端...
- 示例 3:`CREATE TABLE t3 (id1 INT NOT NULL, CONSTRAINT fk1 FOREIGN KEY (id1) REFERENCES t1(id1)) ENGINE = InnoDB DEFAULT CHARSET = gb2312;` - 修改表结构:如添加外键约束 `ALTER TABLE t3 ADD ...
) ENGINE=MyISAM DEFAULT CHARSET=gbk; ``` - 插入数据到`book`表中,例如: ``` INSERT INTO book VALUES ('1001', 'Tomcat与Java Web开发技术详解', '电子工业出版社', 45.00); ... ``` 4. **在Eclipse中...
) ENGINE=InnoDB DEFAULT CHARSET=gb2312; ``` ### H5 实现点播 为了实现H5点播功能,我们需要编写前端页面代码来播放视频。以下是一个简单的示例: ```html <!DOCTYPE html> <meta charset="UTF-8"> <title>...
- **Tomcat服务器设置**:在Tomcat的`server.xml`中设置`Connector`的`URIEncoding`属性为`UTF-8`: ```xml ``` - **JSP页面设置**:在JSP页面的头部声明字符集: ```jsp ;charset=UTF-8" language="java" %> ``...
STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_...