[软件测试_hw1]记一次调试bug的经历

上学期期末web开发的大作业,要求写一个通缉犯管理系统,基本要实现的功能归结起来不外乎数据库的增删改查。大体实现起来很容易,但在一些细节上让我纠结了很久。其中一个就是中文乱码的问题。其中主要涉及一下两个方面:

一、无法在mysql数据库中插入中文的数据,一旦涉及中文数据,在数据库中就会变成乱码。经过查询发现是由于数据库的默认编码设置的问题,将相应表和列的编码设置成UTF-8即可

二、页面显示乱码。

1.通过<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" %>  指定页面的编码

2.后台接受中文参数时使用new String(str.getBytes("ISO-8859-1"), "UTF-8")来进行编码转换。

通过这次调试bug的经历,我知道了遇到问题首先需要分析问题出现的原因,只有知道了原因才能去解决,学习分析问题的来源远比解决这个问题重要的多。

而出现乱码问题的原因就是程序的编码没有和编程人员的编码进行统一,那么解决这个问题只需要将编程人员想要的编码告诉程序就可以了,以上解决乱码问题的方法都可以说是一种声明编码的过程,也就是说乱码问题终极解决方案就是转码。

时间: 2024-08-04 09:00:55

[软件测试_hw1]记一次调试bug的经历的相关文章

Eclipse调试Bug的七种常用技巧(转)

摘要:本篇文章主要介绍了Eclipse在调试代码时用到的几种调试方法,并附于截图方便理解. 本文写给那些像几年前的我一样刚刚走出校门,及一些未使用过这些高级些的调试技巧的人. 记得刚刚毕业的时候,自己连断点也不会打,当时还在用JCreate ,就连毕业设计也是用 System.out 找 Bug 的,想想真的很笨.开始工作后,一个星期过去了,在一个 1 . 2 百万行的系统中找 Bug ,我依然在用 System.out ,当时最痛苦的就是修改代码,每次找到疑似 Bug ,就输出一下,然后重启(

调试Bug的神兵利器:通过WinDbg条件断点收集Log [转载]

转载链接:http://blog.csdn.net/atfield/article/details/4037248 前段时间花了几天一直在用WinDbg调试一个比较棘手的Bug.这个Bug是C# Team那边发现的,他们的Testcase跑大概10分钟左右会出一个在CLR内部的ASSERT.比较难调试的主要原因在于ASSERT表明一个全局的数据结构出现了问题,本来不应该用完的数组却已经用完了(因为按照设计,这个数组是边使用边清理的,是不会用完的).初步想到的有下面几种方案来调试: 1. 设置数据

记一次调试

这是我最近几个月来遇到的最棘手的一个问题:* 昨天花了4个小时找出第一层次的原因这个纠结啊,本来和老婆说好准时下班回家吃饭的,结果被这个问题拖了老久. 这是一个gradle的plugin,用来resolve公司内部的dependency的,弄完了跑测试项目的,抛一个NPE,而且NPE还不在自己的代码里面.好吧,把gradle的源代码翻出来看,如果是自己传进去的一个值是null,解决起来也还ok了.结果到里面一看,那是一个loop里面,迭代map的时候出的错 - 可以算是NPE中的最坏情况了把.仔

记一次服务器被挖矿经历与解决办法

记一次服务器被挖矿经历与解决办法 在最近的某一天里面,中午的一个小息过后,突然手机的邮件和公众号监控zabbix的告警多了起来.我拿起手机一看原来是某台服务器上的CPU跑满了,就开始登上去看一下是哪个脚本导致负荷高的(在期间使用top -d 1命令查看负荷占用情况).可以静下来想了下,中午大家都在休息不应该CPU负载会这么高的,心里想80%是服务器被黑了. 后来发现是/tmp/ddgs.3013和/tmp/qW3xT.2这两个文件跑满了服务器CPU,后来决定先kill掉文件PID和删除/tmp目

Chrome调试折腾记_(1)调试控制中心快捷键详解!!!

转载:http://blog.csdn.net/crper/article/details/48098625 大多浏览器的调试功能的启用快捷键都一致-按下F12;还是熟悉的味道;  或者直接 Ctrl> + Shift + J: 直接进入console面板 点击第一张截图圈圈那个进入,看到Shortcuts这个就是了-.快捷键大全 快捷键大全 快捷键有这么以下几大类..且看我一一道来~~~注:All pane是全局快捷键 Console() Ctrl + L : 清除控制台消息 Tab : 自动

android调试bug集锦 onActivityResult立即返回,并且被CANCEL

症状: 在使用startActivityForResult调用照相机或者选择图片的时候,总是onActivityResult立马返回,resultCode=0 CANCEL. startActivityForResult(intent,IMAGE_PICK_REQUEST); 因为是在fragment里面使用startActivityForResult有问题,所以开始以为是因为fragment导致的问题,各种调试都无法解决问题. 解决方法: 后来突然看到manifests里面看到activity

javascript在调试bug的奇淫技巧(Chrome, Firebug, Filddle 调试)

Fiddler Fiddler调式使用知多少(一)深入研究 微信fiddle 微信fiddle Chrome Google Chrome 官方 Chrome - 基础 Chrome - 进阶 Chrome - 性能 Chrome - 性能进阶 Chrome - 移动 Chrome - 使用技巧 Chrome - Console控制台不完全指南 Chrome - Workspace使浏览器变成IDE network面板 chrome开发工具快捷键 chrome调试工具 Chrome 开发工具 Wo

Eclipse调试Bug的七种常用技巧

1. 条件断点 断点大家都比较熟悉,在Eclipse Java 编辑区的行头双击就会得到一个断点,代码会运行到此处时停止. 条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止. 在断点处点击鼠标右键,选择最后一个"Breakpoint Properties" 断点的属性界面及各个选项的意思如下图, 2. 变量断点 断点不仅能打在语句上,变量也可以接受断点, 上图就是一个变量的打的断点,在变量的值初始化,或是变量值改变时可以停止,当然变量断

记一次调试python内存泄露的问题

转载:http://www.jianshu.com/p/2d06a1a01cc3 这两天由于公司需要, 自己编写了一个用于接收dicom文件(医学图像文件)的server. 经过各种coding-debuging-coding-debuging之后, 终于上线了, 上线后心里美滋滋的, 一切正常. 第二天一上班, 负责人和我说接收太慢了, 卡的要死. 我想难道是python本身的问题?(程序员本征思维)我好奇的打开了终端输入 ps -aux | grep python 找到进程id 即 2161