Javascript将textarea保存为UTF-8文件

Javascript将textarea保存为UTF-8文件,javascript,internet-explorer,textarea,Javascript,Internet Explorer,Textarea,我使用以下Javascript代码将textarea保存到用户机器上的文本文件中。这仅限于我们的内部网,并且只允许IE,因此仅限于安全性有限的IE不是一个大问题;但是,我不能使用php。因此,我希望坚持使用javascript并调整以下脚本,以强制将字符集设置为UTF-8。我在保存文件时注意到,它在记事本和记事本++中可以正确读取,但在wordpad中打开时,UTF-16显然不令人满意。同样,如果我将其保留在save对话框中,并手动将编码更改为UTF-8,则会保存页面中的所有文本,而不仅仅是te

我使用以下Javascript代码将textarea保存到用户机器上的文本文件中。这仅限于我们的内部网,并且只允许IE,因此仅限于安全性有限的IE不是一个大问题;但是,我不能使用php。因此,我希望坚持使用javascript并调整以下脚本,以强制将字符集设置为UTF-8。我在保存文件时注意到,它在记事本和记事本++中可以正确读取,但在wordpad中打开时,UTF-16显然不令人满意。同样,如果我将其保留在save对话框中,并手动将编码更改为UTF-8,则会保存页面中的所有文本,而不仅仅是textarea。另外,如果有人知道如何将默认的“另存为类型”更改为text.txt,那将非常棒,但并不重要

    <script type="text/javascript">
function SaveContentsTXT(element) {     
    if (typeof element == "string")         
        element = document.getElementById(element);
        element3 = document.getElementsByName( 'TXTFILE' )[0];  
    if (element) {         
        if (document.execCommand) {                             
            var oWin = window.open("about:blank", "_blank");
            oWin.document.write((((element.value).replace(/ /g, '&nbsp;')).replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;')).replace(/\n\r?/g, '<br />'));
            oWin.document.close();           
            var success = oWin.document.execCommand('SaveAs', true, element3.value);
            oWin.close();             
            if (!success)                 
                alert("Sorry, your browser does not support this feature or you canceled.");         
            }     
        } 
    } 
</script>

函数SaveContentsTXT(元素){
if(元素类型==“字符串”)
元素=document.getElementById(元素);
element3=document.getElementsByName('TXTFILE')[0];
if(元素){
if(document.execCommand){
var oWin=window.open(“about:blank”,“_blank”);
oWin.document.write(((element.value).replace(//g',).replace(//\t/g',).replace(//\n\r?/g,“
”); oWin.document.close(); var success=oWin.document.execCommand('SaveAs',true,element3.value); oWin.close(); 如果(!成功) 警报(“对不起,您的浏览器不支持此功能,或者您已取消。”); } } }
最终结果是:

function SaveContentsTXT(element) {     
    if (typeof element == "string")         
        element = document.getElementById(element);
        txtitle = document.getElementsByName( 'TXTFILE' )[0];  
    if (element) {   
        if (document.execCommand) {                             
            var oWin = window.open("about:blank", "_blank");
            oWin.document.write((((element.value).replace(/ /g, '&nbsp;')).replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;')).replace(/\n\r?/g, '<br />'));
            oWin.document.close(); 
            oWin.document.save="text";
            oWin.document.charset="UTF-8";
            var success = oWin.document.execCommand('SaveAs', true, txtitle.value);
            oWin.close();             
            if (!success)                 
                alert("Sorry, your browser does not support this feature or you canceled.");         
            }   
        } 
    } 
函数SaveContentsTXT(元素){
if(元素类型==“字符串”)
元素=document.getElementById(元素);
txtitle=document.getElementsByName('TXTFILE')[0];
if(元素){
if(document.execCommand){
var oWin=window.open(“about:blank”,“_blank”);
oWin.document.write(((element.value).replace(//g',).replace(//\t/g',).replace(//\n\r?/g,“
”); oWin.document.close(); oWin.document.save=“text”; oWin.document.charset=“UTF-8”; var success=oWin.document.execCommand('SaveAs',true,txtitle.value); oWin.close(); 如果(!成功) 警报(“对不起,您的浏览器不支持此功能,或者您已取消。”); } } }
最终结果是:

function SaveContentsTXT(element) {     
    if (typeof element == "string")         
        element = document.getElementById(element);
        txtitle = document.getElementsByName( 'TXTFILE' )[0];  
    if (element) {   
        if (document.execCommand) {                             
            var oWin = window.open("about:blank", "_blank");
            oWin.document.write((((element.value).replace(/ /g, '&nbsp;')).replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;')).replace(/\n\r?/g, '<br />'));
            oWin.document.close(); 
            oWin.document.save="text";
            oWin.document.charset="UTF-8";
            var success = oWin.document.execCommand('SaveAs', true, txtitle.value);
            oWin.close();             
            if (!success)                 
                alert("Sorry, your browser does not support this feature or you canceled.");         
            }   
        } 
    } 
函数SaveContentsTXT(元素){
if(元素类型==“字符串”)
元素=document.getElementById(元素);
txtitle=document.getElementsByName('TXTFILE')[0];
if(元素){
if(document.execCommand){
var oWin=window.open(“about:blank”,“_blank”);
oWin.document.write(((element.value).replace(//g',).replace(//\t/g',).replace(//\n\r?/g,“
”); oWin.document.close(); oWin.document.save=“text”; oWin.document.charset=“UTF-8”; var success=oWin.document.execCommand('SaveAs',true,txtitle.value); oWin.close(); 如果(!成功) 警报(“对不起,您的浏览器不支持此功能,或者您已取消。”); } } }
很高兴提及您的目标IE版本。关于字符集,我不知道,但根据,文件的默认名称是
execCommand()
的第三个参数。它不是已经是
element3
的目标吗?@Stock overwaw“element”是我要保存的文本区域,element3.value是我保存element.value为的论坛字段输入值。在我更改编码之前,它一直按原样工作。不过,我明白你的意思。Hummit很高兴提及您的目标IE版本。关于字符集,我不知道,但根据,文件的默认名称是
execCommand()
的第三个参数。它不是已经是
element3
的目标吗?@Stock overwaw“element”是我要保存的文本区域,element3.value是我保存element.value为的论坛字段输入值。在我更改编码之前,它一直按原样工作。不过,我明白你的意思。哼哼