Javascript для сохранения текстовой области в файл как UTF-8 - PullRequest
1 голос
/ 28 марта 2012

Я использую следующий код Javascript для сохранения текстовой области в текстовом файле на компьютере пользователя.Это ограничено нашей интрасетью, и разрешен только IE, поэтому ограниченность IE с ограниченной безопасностью не является большой проблемой;однако я не могу использовать php.Поэтому я хотел бы придерживаться javascript и настроить следующий скрипт, чтобы принудительно установить кодировку в UTF-8.При сохранении файла я заметил, что он правильно читается в блокноте и notepad ++, но, например, при открытии в wordpad было очевидно, что UTF-16 не был удовлетворительным.Аналогичным образом, если я оставлю это в диалоговом окне сохранения и вручную изменю кодировку на UTF-8, будет сохранен весь текст на странице, а не только текстовая область.Кроме того, если кто-нибудь знает, как изменить стандартное «сохранить как тип» на текстовый .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>

1 Ответ

1 голос
/ 28 марта 2012
oWin.document.charset="UTF-8";

Конечный результат:

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.");         
            }   
        } 
    } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...