easyui页面上显示和PL/SQL编码问题

在页面上,只需要显示人们看的懂的文字就行,但是在数据库里面就不一定了,一般情况下,在数据库里面存字母,数字等除了汉字以外的字符,存汉字有个问题,就是有时候不同oracle数据库的客户端会出现乱码问题;这样显示在相应的页面上也会出现乱码问题,为了避免这种情况的发生,就需要页面显示汉字,在数据库面不要存汉字就行;下面是例子:

一、easyui页面上数据:

<div class="fitem">
<label>处理状态:</label>
<select class="easyui-combobox" id="dlg_f_deal_state" data-options="editable:false" name="dlg_deal_state" style="230px;height:26px;">
<option selected="selected"></option>
<option value="10B">已提出</option>
<option value="10D">已指派</option>
<option value="10C">已归队</option>
<option value="10E">已评价</option>
<option value="10X">已取消</option>
</select>
</div>

解释:value里面的10B,10D什么的都是存在数据库里面,而已指派,已提出什么的都是在页面上显示给别人看的,如果页面上显示10B什么的,别人也不知道什么意思;如果        将已提出,已指派什么的存在数据库里面有时候会出现乱码情况;

1、如果这里的"处理状态"作为table显示的一列的,需要写一个方法,将数据库里面的10B,10D什么的转换成已提出,已指派什么的;

  下面是转换的方法(js代码)

/*更改处理状态*/
function changeStat(value,res){
if (value=='10B')
{
return '<span style="color:#ff00ff">已提出</span>';
}
if (value=='10C')
{
return '<span style="color:#800080 ">已归队</span>';
}
if (value=='10D')
{
return '<span style="color: #00FFFF ">已指派</span>';
}
else if (value=='10E')
{
return '<span style="color:#0669b2" >已评价</span>';
}
else if (value=='10X')
{
return '<span style="color:red">已取消</span>';
}
}

2、在相应的table那点添加一个方法:

  <th field="deal_state" formatter="changeStat" width="80px;"  align='center'>处理状态</th>

上面的formatter="changeStat"就是提高转换的方法,formatter是easyui里面的自带的属性;

通过上面两个步骤就不会数据库里面乱码,页面上别人看不懂了;

二、直接将页面上的数据获取到相应的文本框里面,这时候文本框里面是数据库里面的放的东西:既是value里面的代码,这时候就必须要

<select class="easyui-combobox" id="dlg_f_deal_state" data-options="editable:false" name="dlg_deal_state" style="230px;height:26px;">
<option selected="selected"></option>
<option value="10B">已提出</option>
<option value="10D">已指派</option>
<option value="10C">已归队</option>
<option value="10E">已评价</option>
<option value="10X">已取消</option>
</select>

这些代码将文本框里面的数据转换为已提出,已指派什么的,否则就一直显示数据库里面的数据

原文地址:https://www.cnblogs.com/yj716716yj/p/5609613.html