Показать сообщение отдельно
  #1 (permalink)  
Старый 20.09.2011, 20:15
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

А всётаки возможно ))
Тут разгорелась небольшая дискуссия относительно возможности преобразования кодировки на стороне клиента.

Передача текста в SimpleText действительно провальная затея.
поэтому пришлось передавать данные как есть, в двоичном виде.

Передача в двоичном виде как нестранно проблемой не оказалась.

Первый способ, в Html5 XMLHttpRequest 2 знает что такое блобы.
второй способ) В инете я без труда нарыл хак, для текущей версии XMLHttpRequest

я выбрал второй способ. Получил строку байтов. И перебрал её в цикле преобразовав каждый байт в символ нужной мне кодировки. При этом никаких php скриптов непонадобилось

Вот скрипт
<html>
  <HEAD>
      <script src="jquery/jquery-1.6.1.min.js" type="text/javascript" charset="utf-8"></script>
  </HEAD>
<body>
<div id="test">

</div>

<script>
function decode (code) {
         if (code>127){ 
         	return String.fromCharCode(code + 848);
         } else return String.fromCharCode(code);
}


var text="";
var xhr = new XMLHttpRequest();
//xhr.open('GET', 'http://tester.ru/hello.txt', true);

xhr.open('GET', 'hello.txt', true);

// ХОТИМ БАЙТЫ В НЕИЗМЕННОМ ВИДЕ
xhr.overrideMimeType('text/plain; charset=x-user-defined');

xhr.onreadystatechange = function(e) {  

  if (this.readyState == 4 && this.status == 200) {

    var binStr = this.responseText;

    for (var i = 0, len = binStr.length; i < len; ++i) {
      var c = binStr.charCodeAt(i);
      //String.fromCharCode(c & 0xff);
      var byte = c & 0xff;
      text+=decode(byte);
    }

      $('body').html('<h1>'+text+'</h1>');
  }
};

xhr.send();

</script>
</body>
</html>


рабочий пример.
здесь :http://depositfiles.com/files/pkv4dwmqx
или здесь:http://javascript.ru/forum/attachmen...1&d=1316535516[/url]

Запускать пример естественно на сервере. Лично я проверял под apache.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 20.09.2011 в 22:57.
Ответить с цитированием