乱码问题,求解决方案 ...

chg2008 2005-11-24 05:25:29
环境 apache2.0.54 + tomcat 5.5 + mysql4.1.13
具体情况如下 :
通过8080端口,即不走apache访问,没有乱码. 如http://127.0.0.1:8080/web/
通过80端口 走apache访问,出现乱码。http://127.0.0.1/web/
我尝试了很多种方案,依旧无法解决 ....

望在这方面有经验高手指教
...全文
207 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chg2008 2005-11-28
  • 打赏
  • 举报
回复
谢谢各位!
问题已经解决,是因mod_jk走8009端口,故在8009端口设置编码就行了
chinatelly 2005-11-26
  • 打赏
  • 举报
回复
d你在apache的在配置文件中找包含“AddLanguage”或“AddCharset”的行,在这些行最前面增加一行:
    AddDefaultCharset GB2312
zhuyan710 2005-11-25
  • 打赏
  • 举报
回复
我也有问题啊^_^我下面有个程序实现如下功能:检查输入的字符串
username 或者 username@realm两种格式
首先会判断是否含有@
有:分别对username和realm的字符串进行判断
无:只是判断username字符串是否合乎要求


username字符串的判断标准是:当前一个字符为"\"时:紧接的字符可以是strvalid2中的任意字符
否则 username中的字符只能是strvalid0中的任意字符


realm字符串的判断标准是:其中的字符可以是strvalid1中的任意字符

最后判断完毕,返回allvalid状态值,并根据该值决定是否显示warning信息。



javascript使用函数调用,不能返回值嘛??





coding:


main(obj)
{
var i;
var j;
var value = obj.value;
var len = value.length;
var allValid = true;


if (value == "")
return allValid;
i = value.lastindexof("@");

while(1)
{

if(i < 0)
{
allValid = false;
break;
}
else
{
if(obj.charAt(i-1) == "\")
{

if(username_handler(value,len) == 0)
{
break;
}
else
{
allValid = false;
break;
}

}
else
{
username_len = i;
realm_begin = i+1;

if(username_handler(value,username_len) == 0)
{
if(realm_handler(value,realm_begin,len) == 0)
{
break;
}
else
{
allValid = false;
break;
}
}
else
{
allValid = false;
break;
}
}

}
}

if (allValid == false)
{
alert("$%UTS(77)#$");
obj.focus();
obj.select();
}
return allValid;
}

realm_handler(obj,realm_begin,value_len)
{
int status;
i = realm_begin;
j = value_len;
var value = obj;
var strvalid1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.-";

for (i ; i < j; i++)
{
ch = value.charAt(i);
for (l = 0; l < strvalid1.length; l++)
{
if (ch == strvalid1.charAt(j))
{
break;
}
}

if (l == strvalid1.length)
{
status = -1;
return status;
}
}
return 0;
}



username_handler(obj,username_len)
{
int i = usernamelen;
int status;
var value = obj;
var strvalid0 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!#%&$@^'*+-/{}=_`~|?";
var strvalid2 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!#%&$@^'*+-/{}=_`~|? <>()[].,;:";

for (u = 0 ; u < i; u++)
{
ch = value.charAt(u);
if(ch == "\")
{
for (j = 0; j < strvalid2.length; j++)
{
if (ch == strvalid2.charAt(j))
{
break;
}
}

if (j == strvalid2.length)
{
status = -1;
return status;
}
}
else
{
for (j = 0; j < strvalid0.length; j++)
{
if (ch == strvalid0.charAt(j))
{
break;
}
}

if (j == strvalid0.length)
{
status = -1;
return status;
}
}
}
return 0;
}
xieqiang824 2005-11-25
  • 打赏
  • 举报
回复
嗯,同意仁兄的看法
sweetsnow 2005-11-25
  • 打赏
  • 举报
回复
修改默认字符集,让Apache把简体中文作为默认的字符集。
httpd.conf找到这一行:AddDefaultCharset on  修改成:AddDefaultCharset gb2312
chg2008 2005-11-25
  • 打赏
  • 举报
回复
现在关键是不用apache就没乱码,用了就有.不知道apache做了什么处理
奇怪的很,代码charset都没问题
常遇道 2005-11-24
  • 打赏
  • 举报
回复

上面的那个用在JAVA程序里的
那就在文件的开头用上这个吧
<%@ page contentType="text/html;charset=GBK"%>

chg2008 2005-11-24
  • 打赏
  • 举报
回复
这个没用
常遇道 2005-11-24
  • 打赏
  • 举报
回复
public String TranStrType(String str) throws Exception
{
try{
if(str==null)
return null;
else
{
str = new String(str.getBytes("ISO8859_1"),"gb2312");
return str;
}
}catch(Exception e){
return null;
}
}


81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧