0

我不确定是全角还是字符串太长,我的网页在字符串太长时会出现问题,而且由于数据是动态附加的,所以数据应该是全角的,因为其他页面让用户输入他们的数据是全角的(日语或中文)。我的html是:

<!DOCTYPE html PUBLIC "-/W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<head>
<title>Lomiro</title> 
<style type="text/css"> 
<!--
.style2 {font-family: Arial, Helvetica, sans-serif; font-size: 16px;}
-->
a:link {
    text-decoration: none;
    color: #FFFFFF;
}
a:visited {
    text-decoration: none;
    color: #FFFFFF;
}
a:hover {
    text-decoration: none;
    color: #FFFFFF;
}
a:active {
    text-decoration: none;
    color: #FFFFFF;
}
body,td,th {
    font-size: 16px;
}
.style3 {color: #FFFFFF}
</style>
<script type="text/javascript"> 
function addRow(i,id,names,addr,cell,cam,num,shop,pay,date)
{
    var tableis = document.getElementById("info");
    var last=(-1);
    var Tr = tableis.insertRow(last);
    var Td1 = Tr.insertCell(0);
    Td1.innerHTML="<input type='text' readonly='readonly' style='cursor: default; width: 100px;' name='id"+i+"' id='id"+i+"' value='"+id+"' />";
    Tr.appendChild(Td1);
    var Td2 = Tr.insertCell(1);
    Td2.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="name'+i+'" id="name'+i+'" value="'+names+'" />';
    Tr.appendChild(Td2);
    var Td3 = Tr.insertCell(2);
    Td3.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 330px;" name="addr'+i+'" id="addr'+i+'" value="'+addr+'" />';
    Tr.appendChild(Td3);
    var Td4 = Tr.insertCell(3);
    Td4.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 90px;" name="cell'+i+'" id="cell'+i+'" value="'+cell+'" />';
    Tr.appendChild(Td4);
    var Td5 = Tr.insertCell(4);
    Td5.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="cam'+i+'" id="cam'+i+'" value="'+cam+'" />';
    Tr.appendChild(Td5);
    var Td6 = Tr.insertCell(5);
    Td6.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 80px;" name="num'+i+'" id="num'+i+'" value="'+num+'" />';
    Tr.appendChild(Td6);
    var Td7 = Tr.insertCell(6);
    Td7.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="shop'+i+'" id="shop'+i+'" value="'+shop+'" />';
    Tr.appendChild(Td7);
    var Td8 = Tr.insertCell(7);
    Td8.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 70px;" name="pay'+i+'" id="pay'+i+'" value="'+pay+'" />';
    Tr.appendChild(Td8);
    var Td9 = Tr.insertCell(8);
    Td9.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 70px;" name="date'+i+'" id="date'+i+'" value="'+date+'" />';
    Tr.appendChild(Td9);
}
function addRow2(i,shop,id,names,addr,cell,cam,num,pay,date)
{
    var tableis = document.getElementById("info");
    var last=(-1);
    var Tr = tableis.insertRow(last);
    var Td1 = Tr.insertCell(0);
    Td1.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="shop'+i+'" id="shop'+i+'" value="'+shop+'" />';
    Tr.appendChild(Td1);
    var Td2 = Tr.insertCell(1);
    Td2.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="id'+i+'" id="id'+i+'" value="'+id+'" />';
    Tr.appendChild(Td2);
    var Td3 = Tr.insertCell(2);
    Td3.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="name'+i+'" id="name'+i+'" value="'+names+'" />';
    Tr.appendChild(Td3);
    var Td4 = Tr.insertCell(3);
    Td4.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 330px;" name="addr'+i+'" id="addr'+i+'" value="'+addr+'" />';
    Tr.appendChild(Td4);
    var Td5 = Tr.insertCell(4);
    Td5.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 90px;" name="cell'+i+'" id="cell'+i+'" value="'+cell+'" />';
    Tr.appendChild(Td5);
    var Td6 = Tr.insertCell(5);
    Td6.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="cam'+i+'" id="cam'+i+'" value="'+cam+'" />';
    Tr.appendChild(Td6);
    var Td7 = Tr.insertCell(6);
    Td7.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 80px;" name="num'+i+'" id="num'+i+'" value="'+num+'" />';
    Tr.appendChild(Td7);
    var Td8 = Tr.insertCell(7);
    Td8.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 70px;" name="pay'+i+'" id="pay'+i+'" value="'+pay+'" />';
    Tr.appendChild(Td8);
    var Td9 = Tr.insertCell(8);
    Td9.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 70px;" name="date'+i+'" id="date'+i+'" value="'+date+'" />';
    Tr.appendChild(Td9);
}
function addRow3(i,date,id,names,addr,cell,cam,num,shop,pay)
{
    var tableis = document.getElementById("info");
    var last=(-1);
    var Tr = tableis.insertRow(last);
    var Td1 = Tr.insertCell(0);
    Td1.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 70px;" name="date'+i+'" id="date'+i+'" value="'+date+'" />';
    Tr.appendChild(Td1);
    var Td2 = Tr.insertCell(1);
    Td2.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="id'+i+'" id="id'+i+'" value="'+id+'" />';
    Tr.appendChild(Td2);
    var Td3 = Tr.insertCell(2);
    Td3.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="name'+i+'" id="name'+i+'" value="'+names+'" />';
    Tr.appendChild(Td3);
    var Td4 = Tr.insertCell(3);
    Td4.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 330px;" name="addr'+i+'" id="addr'+i+'" value="'+addr+'" />';
    Tr.appendChild(Td4);
    var Td5 = Tr.insertCell(4);
    Td5.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 90px;" name="cell'+i+'" id="cell'+i+'" value="'+cell+'" />';
    Tr.appendChild(Td5);
    var Td6 = Tr.insertCell(5);
    Td6.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="cam'+i+'" id="cam'+i+'" value="'+cam+'" />';
    Tr.appendChild(Td6);
    var Td7 = Tr.insertCell(6);
    Td7.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 80px;" name="num'+i+'" id="num'+i+'" value="'+num+'" />';
    Tr.appendChild(Td7);
    var Td8 = Tr.insertCell(7);
    Td8.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 100px;" name="shop'+i+'" id="shop'+i+'" value="'+shop+'" />';
    Tr.appendChild(Td8);
    var Td9 = Tr.insertCell(8);
    Td9.innerHTML='<input type="text" readonly="readonly" style="cursor: default; width: 70px;" name="pay'+i+'" id="pay'+i+'" value="'+pay+'" />';
    Tr.appendChild(Td9);
}
function printOut(block)
{
    var value = block.innerHTML;
    var printPage = window.open("","printPage","");
    printPage.document.open();
    printPage.document.write("<HTML><head></head><BODY onload='window.print();window.close()'>");
    printPage.document.write("<PRE>");
    printPage.document.write(value);
    printPage.document.write("</PRE>");
    printPage.document.close("</BODY></HTML>");
}
</script>
</head>
<body>
<table width="589" align="right" style="position: absolute; right: 0px; top: 0px; width: 589px;">
  <tr>
    <td width="118" height="23" style="background-color: #3366CC;"><div align="center" class="style2"><a href="query.php" target="mainFrame">検索</a></div></td>
    <td width="118" style="background-color: #3366CC;"><div align="center" class="style2"><a href="addnew.php" target="mainFrame">顧客管理</a></div></td>
    <td width="118" style="background-color: #3366CC;"><div align="center" class="style2"><a href="shop.php" target="mainFrame">代理店管理&lt;/a></div></td>
    <td width="118" style="background-color: #3366CC;"><div align="center" class="style2"><a href="statistic.php" target="mainFrame">統計管理</a></div></td>
  <td width="118" style="background-color: #9966FF;"><div align="center" class="style2"><a href="output.php" target="mainFrame">会計管理</a></div></td></tr>
</table>
<br/>
<br/>
<form method='post' action='exout.php'>
<div id='block' align='center'>
2013/4/1~2013/4/11
総契約者DATA
<table width='737' border='0' name='info' id='info'>
<tr>
<td align='center' bgcolor='#9999FF'>Lomiro ID</td>
<td align='center' bgcolor='#9999FF'>氏名</td>
<td align='center' bgcolor='#9999FF'>住所</td>
<td align='center' bgcolor='#9999FF'>携帯電話</td>
<td align='center' bgcolor='#9999FF'>MAC</td>
<td align='center' bgcolor='#9999FF'>型番</td>
<td align='center' bgcolor='#9999FF'>代理店コード</td>
<td align='center' bgcolor='#9999FF'>支払方法</td>
<td align='center' bgcolor='#9999FF'>支払日&lt;/td>
</tr>
</table>
</div>
<br/>
<input type='submit' id='output' name='output' value='Excel出力' />
<input type='button' id='print' name='print' value='スキャンアウト' onclick='printOut(block)' />
</form>
</body>
<script type='text/javascript'>addRow('0','dayang','','','','','','','0','');

</script>
</html>

如果数据是全角或太长,它会以失败的方式换行。像:

    '9620001福島県須賀川市森宿
60-1'

上面的行应该是一行,但它改变了行!

我的网页是php,我尝试了几种方法来修复,但没有任何用处。
php代码的错误是:

echo rtrim("<script type='text/javascript'>");
echo "addRow('";
echo $k;
echo "','";
echo $mail;
echo "','";
echo $name;
echo "','";
echo trim($addr);
echo "','";
echo $cell;
echo "','','','";
echo $shop;
echo "','";
echo $pay;
echo "','";
echo $date;
echo "');"."\n</scr";
echo "ipt>"."\n";
$k++;

数据是从数据库中获取的,我看到数据库中的数据没有任何更改行字符。

我猜的问题是附加的数据太长了,而且是全角的。

我知道这个问题和其他人类似,但是我尝试了其他人的方法,问题仍然无法解决。

我试过用

并删除该行,或者让我的 php 文件为 utf-8 编码。

让标签像''一样分割......

请帮我!

4

1 回答 1

0

我找到了另一种解决问题的方法!

我用$addr=str_replace("\n","\\n",$addrs);

并且数据库中的数据中有\n,我以前没有找到。

于 2013-04-15T07:12:01.583 回答