Как отобразиться, имя файла неASCII в файле загружают поле в браузерах?

Установите границу для Triangle компонентов следующим образом:

public Triangle(int x, int y, Color c)
{
  this.x = x;
  this.y = y;
  this.c = c;
  setPreferredSize(new Dimension(100, 100));
  addMouseListener(this);
  // Set this border to see the boundaries of this component.
  // When you are done, you may remove this.
  setBorder(BorderFactory.createLineBorder(Color.black));
}

Тогда вы сможете лучше понять границы компонентов.

Розовый треугольник не виден, потому что он находится за границей компонента.

p3 треугольник не реагирует на щелчки мыши, потому что это просто рисунок. Только компоненты реагируют на мышь и другие события.

Обратите внимание, что компоненты имеют прямоугольную форму. Итак, прослушиватель мыши, который вы добавили, работает в любом месте компонента; не только в области треугольника.

В этой программе вы рисуете треугольники двумя способами.
1. Добавляя компоненты треугольника. (Например, «добавить (новый треугольник (20, 50, Color.red));»)
2. Рисуя p3 в методе paintComponent().

С точки зрения разработки программного обеспечения, лучше придерживаться одного подхода. В противном случае это может привести к путанице и ошибкам.

8
задан chills42 5 November 2008 в 14:03
поделиться

6 ответов

Ответ на вопрос № 1: Вы путаете Unicode и UTF-8. Шестнадцатеричное значение 'ả' является 0xA31E однако, который не является символом UTF-8. В UTF-8, что символ требует трех байтов, 0xE1 0xBA 0xA3. Кодирование URL плохо определяется для кодировки неASCII, но %e1%ba%a3 является допустимой кодировкой UTF-8 для использования для того символа.

3
ответ дан 5 December 2019 в 12:14
поделиться

В ссылке Вы имеете выше, e1 ba a3 является кодировкой UTF-8 упомянутого символа, не код символа.

1
ответ дан 5 December 2019 в 12:14
поделиться

Для проблемы № 2 Вы должны к URL закодировать имя файла и для Internet Explorer и для Firefox. Единственная разница - то, что необходимо использовать формат RFC 2231 в Firefox. Это относится к Firefox 3 и Internet Explorer 7.

2
ответ дан 5 December 2019 в 12:14
поделиться

К сожалению, в настоящее время нет никакого единственного пути, который работал бы во всех Агентах пользователя.

См. http://greenbytes.de/tech/tc2231/ для тестовых сценариев, затем жалуйтесь Microsoft, Google и Apple.

0
ответ дан 5 December 2019 в 12:14
поделиться

Спецификации в основном ничего не разрешают кроме US-ASCII. HTTP-заголовками является US-ASCII. Значения по умолчанию полезной нагрузки HTTP к ISO 8859-1, но это относится к телу содержания, не заголовкам.

Возможно Правильный поступок должен был бы использовать технику MIME для кодирования данных неASCII в заголовках, как описано в RFC 2047, но я понятия не имею, поддерживают ли браузеры на самом деле это.

Править: Возгласы, нет, раздел RFC 2047 5 явно говорят, что закодированная форма не разрешена в Довольном Расположении. Похож Вам не повезло - нет никакого стандарта.

РЕДАКТИРОВАНИЕ 2: существует стандарт - RFC 2231 определяет, как это, как теперь предполагается, работает. Это имеет поддержку со стороны некоторых браузеров, но не поддерживается в IE. Я нашел некоторые тестовые сценарии, которые демонстрируют, как это работает и какая поддержка браузера доступна.

8
ответ дан 5 December 2019 в 12:14
поделиться

Ответ (вид) к проблеме № 2:

Так как Вы обнаружили, что схема именования в одном браузере не работает в другом, Ваше единственное решение состоит в том, чтобы сделать это по-другому для каждого браузера, подобного примеру здесь.

В случае, если ссылка уходит, решение в основном:

1. If browser is IE URL encode filename
2. Generate Content-disposition header

Конечно, определение, является ли браузером IE Агентом пользователя (который является о единственном способе, которым можно сделать это) чревато всеми видами обычной опасности.

Столь же североамериканский центральный, как это звучит, если важно, чтобы эта работа в большом количестве браузеров, которыми Вы не управляете, которому можно было заблокировать Агент пользователя, или измененный, затем просто избежала, чтобы UTF-8 закодировал символы в имени файла, и всегда используйте "Загрузку" или что-то.

0
ответ дан 5 December 2019 в 12:14
поделиться
Другие вопросы по тегам:

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