AJAX през FF - нелогичен проблем с кирилицата

sizif

Registered
Здравейте!

Имам система: AJAX + БД

Навсякъде енкодинга ми е cp-1251: БД, файлове, указание в мета-тага - презаписах файловете няколко пъти, за да съм сигурен.

През ИЕ всичко е ОК. През ФФ резултатът, който връща сървъра излиза чисто. Това, к ФФ изпраща обаче стига до сървъра с вероятен енкодинг UTF-8.

Някой да се е сблъсквал с подобен проблем?

Ето частта от JS, който създава обекта:


function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

ПП: всичко на сървъра ми е с енкодинг cp-1251 - не мога да сложа друг енкодинг само на тази система.
 
MontefuckeR точно при изпращането се обърква - проверявах.

Решенеито с php е по-удобно.

Тази тема вече е остаряла.

Благодаря на всички, които й обърнахте внимание!
 
sizif каза:
MontefuckeR точно при изпращането се обърква - проверявах.

Решенеито с php е по-удобно.

Тази тема вече е остаряла.

Благодаря на всички, които й обърнахте внимание!
все пак може ли да видя останалия аякс, защото все си мисля, че е от него почти съм убеден
 
Имам подобен проблем, обаче при изкарване. Вместо кирилица, вади:

Lorem Ipsum � ����������� �������� �����, ��������� � ������������ � ������������� ���������. Lorem Ipsum � ������������ �������� �� ����� 1500 ������, ������ ���������� ������� ����� ������� ���������� ����� � �� ���������, �� �� �������� � ��� ����� � �������� ��������. ���� ����� �� ���� � ������ ������ �� 5 ����, �� � �������� � � ������������� �� ���������� ������� ���� � ������� ����� ��� �������. ������������� � ���� 60�� ������ �� 20�� ��� ��� ���������� �� Letraset �����, ��������� Lorem Ipsum ������, ��������� � � � ���� ��� ��� ������� �� ������� ������� ���� Aldus PageMaker, ����� ������� �������� ������ �� Lorem Ipsum.

Кода: http://www.w3schools.com/PHP/php_ajax_database.asp

Просто сложих кирилица като за тест и това стана :/

едит:

echo iconv('ISO-8859-1', 'windows-1251', $test);

не помогна :/

едит2:

Сега обърнах внимание, че процеса на правене на кирилица -> нищо идва от взимането на getuser.php, понеже в getuser си е на кирилица, а на файла, който се показва, не излиза кирилица :/
 
sizif каза:
MontefuckeR точно при изпращането се обърква - проверявах.

Решенеито с php е по-удобно.

Тази тема вече е остаряла.

Благодаря на всички, които й обърнахте внимание!
 
Уви, на новия хост (преди тествах на работния) проблемът се обърна - сега това, к им връща сървърът браузърите (ФФ и ИЕ) интерпретират в много екзотичен енкодинг - "уиндоус тюркиш", каквото и да значи това.

Всичко ми е cp1251. В БД текста е ок.
Задам ли хедъри при принтирането на сървъра, както предлага emagi:

header('Content-Type: text/html; charset=cp1251');
echo $res;

или за текст

header('Content-Type: text/plain; charset=cp1251');
echo $res;

AJAX-а не го чете, защото не е чистия текст, а вече документ с информация за доктайп и означението <HTML>

Луднах :(

mute:

header
може да се направи и в js

Само това не съм пробвал. Как ще изглежда?

ПП:
emagi, предложил си решението, пробвах и снощи, но по необяснима за мен причина нямаше резултат. Днес се получи. Благодаря + 1т.

Ако някой има същия проблем, решението касае сървъра:
http://www.web-tourist.net/forum/viewtopic.php?t=54549

(последното мнение, послеписа)

Благодаря на всички, че проследихте темата!
 

Back
Горе