在mssql2005中使用nvarchar字段类型
使用asp保存与显示韩文正常
但在php中显示韩文不正常,在现实中文时我使用了
iconv('gb2312','utf-8',$row['Name'])
但是韩文这样显示是乱码
请问如果在php中显示韩文怎么解决
使用asp保存与显示韩文正常
但在php中显示韩文不正常,在现实中文时我使用了
iconv('gb2312','utf-8',$row['Name'])
但是韩文这样显示是乱码
请问如果在php中显示韩文怎么解决
调试欢乐多
韩文不是gb编码的, 这样转就会出错
得去查查韩文是什么编码, 把这句改成
iconv('xxxx','utf-8',$row['Name'])就可以了
我知道使用上面的语句可以使中文在php页面下显示正常,但不知道如何显示韩文怎么做,现在的情况是显示韩文是空格或者都是问号
iconv('aaa','utf-8',$row['Name2'])是韩文
这个aaa到底怎么做才可以
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>xxxx</title>
</head>
<body>
<?php
$ko='류우익, 대북 유연성강조..아들 특채의혹 부인';
echo $ko;
?>
</body>
</html>
我现在只是使用php调取里面的数据,除了韩文乱码;楼上使用的是可以直接显示,但问题是从mssql2005中读取时出现乱码问题
如果你数据库里的UTF-8显示正常 那么读出来就应该正常,当然我只有使用Mysql的经验 不清楚mssql是否还有蹊跷,按道理应该都一样才对.
所以关键还是数据库的数据我觉得要重新处理 而不是iconv.
这样也可以
不过这只能治标不治本
如不行,请贴出 echo base64_encode($row['Name']); 的结果
最好同时贴出正确的内容
$q = "select * from cd_departmentdtl where level = '1' and headid = 311 order by px,name";
$r = mssql_query($q);
$dev0 = "<select name=\"devi\" id=\"devi\" onchange=\"devichange(this.value)\">\n";
$txt = sendmsg_bumen;
$dev0 .= "<option value=''>$txt</option>\n";
while($row=mssql_fetch_array($r)){
if($_SESSION['lang']=='cn'){
$dev0 .= "<option value=\"".$row['id']."\">".iconv('gb2312','utf-8',$row['Name'])."</option>\n";
}else{
$dev0 .= "<option value=\"".$row['id']."\">".iconv('ucs-2','utf-8',$row['Name2'])."</option>\n";
}
}
$dev0 .="</select>";
echo $dev0;这是源代码,
刚才试了,还是乱码,并没有正确的韩文显示出来
你的转码是在 if($_SESSION['lang']=='cn') 分支里进行的,并没有任何信息表示转码一定进行了
我要求你给的内容,你并没有给出,须知这是解决问题的最短路径
在mssql里的数据都是通过asp插入更新数据,用php只是调取部分数据,有中文与韩文
在表中字段Name2中的数据是韩文,可以在表中直接可以看到,中文通过iconv可以正常显示
但韩文不可以,要么是空格,问号,要么就是乱码
就可以找到结决问题的方法,这样的事情都不愿意做。
你已经无可救药了
<select name="devi" id="devi" onchange="devichange(this.value)">
<option value="312">Pz8/</option>
<option value="313">Pz8/Pz8/Pw==</option>
<option value="315">Pz8/Pz8/</option>
<option value="323">Pz8/Pw==</option>
<option value="327">Pz8/Pw==</option>
<option value="346">UExBTlQ/Pw==</option>
<option value="356">Pz8/Pw==</option></select>
韩文加了base64_encode()之后出来的结果
$r = mssql_query($q);
$dev0 = "<select name=\"devi\" id=\"devi\" onchange=\"devichange(this.value)\">\n";
$row=mssql_fetch_array($r);
echo base64_encode($row['Name2']);
mssql_close($db);
这样输出对吗
echo base64_decode('Pz8/'); //???如果你提供的是真实的信息的话,那么你的数据库已经出问题了