Почему там различие между кодированием Windows Command Prompt по сравнению с пакетным файлом?

Вот несколько способов добиться этого:

Подход № 1

var arCodes = [];

$("input[name^='violation_template_notices']")
  .each(function(input) {
    // collect the input values into an array
    arCodes.push($(this).val());
  });

// Join the values of the array and put it to the text field.
$('input[name="ar_codes"]').val(arCodes.join(','))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

<input type="hidden" id="selected_charge_code_1" value="33252" name="violation_template_notices[1][ar_code_id]">
<input type="hidden" id="selected_charge_code_2" value="33253" name="violation_template_notices[2][ar_code_id]">
<input type="hidden" id="selected_charge_code_3" value="33254" name="violation_template_notices[3][ar_code_id]">

<input type="text" name="ar_codes" value="">

[119 ] Подход № 2

const arCodes = Array.from(
  $("input[name^='violation_template_notices']"),
  input => input.value
).join(", ");

$('input[name="ar_codes"]').val(arCodes);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<input type="hidden" id="selected_charge_code_1" value="33252" name="violation_template_notices[1][ar_code_id]">
<input type="hidden" id="selected_charge_code_2" value="33253" name="violation_template_notices[2][ar_code_id]">
<input type="hidden" id="selected_charge_code_3" value="33254" name="violation_template_notices[3][ar_code_id]">

<input type="text" name="ar_codes" value="">

9
задан jamesmus 31 October 2008 в 09:57
поделиться

1 ответ

Это вызвано тем, что Ваш пакетный файл кодируется в другой кодовой странице, чем cmd.exe в настоящее время находится в.

В западных конфигурациях по умолчанию cmd.exe запускается в CP850, но текстовые редакторы обычно работают в CP1252 (что часто неправильно упоминается как латинский 1 или ISO-8859-1).

Символы "¬" и "¼" совместно используют тот же код символа в этих двух кодовых страницах "до н.э".

Решение просто. Или закодируйте свой пакетный файл в кодовой странице 850 или переключите cmd.exe на кодовую страницу 1252 путем издания chcp 1252.

9
ответ дан 4 December 2019 в 21:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: