Ru-Board.club
← Вернуться в раздел «Web-программирование»

» WAP+PHP и русские буквы

Автор: Mixailo
Дата сообщения: 30.08.2003 15:51
Если просто писать русскими буквами - на телефоне видны коряки... пробовал utf8_encode - коряки стали еще хуже
Что нужно делать?
Автор: Cheery
Дата сообщения: 30.08.2003 17:57
Mixailo
А телефон поддерживает русский? Не пробовал все писать заглавными буквами?
Автор: Mixailo
Дата сообщения: 30.08.2003 23:51
Телефон поддерживает русский... Большие буквы тоже не помогают.
Фишка в том, что стандартная функция utf8_encode выдает такие коряки:
Ïðåäëà ãà þ Âà øåì
А на вап-сайте МТС коряки совсем другие:
Общение
Вопрос - где в пхп функция, которая выдает нужные коряки?
Автор: pom
Дата сообщения: 31.08.2003 01:01
Я просто завел в скрипте массив для замены и конвертирую "в лоб".

struct er waper[76] =
{
"а","а",
"б","б",
"в","в",
"г","г",
"д","д",
"е","е",
...
Автор: Mixailo
Дата сообщения: 31.08.2003 12:49
О!
Это я уже где-то слышал
А где таблицу взять? Если не сложно - может мне в приват скинешь?

Добавлено
Вот такая функция есть в хелпе к ПХП:

Код:
function utf8ToUnicodeEntities ($source) {
// array used to figure what number to decrement from character order value
// according to number of characters used to map unicode to ascii by utf-8
$decrement[4] = 240;
$decrement[3] = 224;
$decrement[2] = 192;
$decrement[1] = 0;

// the number of bits to shift each charNum by
$shift[1][0] = 0;
$shift[2][0] = 6;
$shift[2][1] = 0;
$shift[3][0] = 12;
$shift[3][1] = 6;
$shift[3][2] = 0;
$shift[4][0] = 18;
$shift[4][1] = 12;
$shift[4][2] = 6;
$shift[4][3] = 0;

$pos = 0;
$len = strlen ($source);
$encodedString = '';
while ($pos < $len) {
$asciiPos = ord (substr ($source, $pos, 1));
if (($asciiPos >= 240) && ($asciiPos <= 255)) {
// 4 chars representing one unicode character
$thisLetter = substr ($source, $pos, 4);
$pos += 4;
}
else if (($asciiPos >= 224) && ($asciiPos <= 239)) {
// 3 chars representing one unicode character
$thisLetter = substr ($source, $pos, 3);
$pos += 3;
}
else if (($asciiPos >= 192) && ($asciiPos <= 223)) {
// 2 chars representing one unicode character
$thisLetter = substr ($source, $pos, 2);
$pos += 2;
}
else {
// 1 char (lower ascii)
$thisLetter = substr ($source, $pos, 1);
$pos += 1;
}

// process the string representing the letter to a unicode entity
$thisLen = strlen ($thisLetter);
$thisPos = 0;
$decimalCode = 0;
while ($thisPos < $thisLen) {
$thisCharOrd = ord (substr ($thisLetter, $thisPos, 1));
if ($thisPos == 0) {
$charNum = intval ($thisCharOrd - $decrement[$thisLen]);
$decimalCode += ($charNum << $shift[$thisLen][$thisPos]);
}
else {
$charNum = intval ($thisCharOrd - 128);
$decimalCode += ($charNum << $shift[$thisLen][$thisPos]);
}

$thisPos++;
}

if ($thisLen == 1)
$encodedLetter = "&#". str_pad($decimalCode, 3, "0", STR_PAD_LEFT) . ';';
else
$encodedLetter = "&#". str_pad($decimalCode, 5, "0", STR_PAD_LEFT) . ';';

$encodedString .= $encodedLetter;
}

return $encodedString;
}
Автор: Mamay
Дата сообщения: 31.08.2003 22:44
Господа о чем спор - как и все остальные браузеры - WAP браузер тоже возвращает свой HTTP_USER_AGENT - исходя из этой информации и при наличии базы этих юзер агентов в которой содержится информация о том какую кодировку понимает наш юзер агент - написать модуль для перекодировки из CP1251 в любую другую - дело 15 минут!

Удачи господа!
Автор: Alex2002
Дата сообщения: 01.09.2003 05:36
# =============================================================================
# unicode (urlencoded) -> Win (urlencoded)
# =============================================================================
sub uu2wu{
$_[0] =~ s/%d0%90/%C0/ig;
$_[0] =~ s/%d0%91/%C1/ig;
$_[0] =~ s/%d0%92/%C2/ig;
$_[0] =~ s/%d0%93/%C3/ig;
$_[0] =~ s/%d0%94/%C4/ig;
$_[0] =~ s/%d0%95/%C5/ig;
$_[0] =~ s/%d0%96/%C6/ig;
$_[0] =~ s/%d0%97/%C7/ig;
$_[0] =~ s/%d0%98/%C8/ig;
$_[0] =~ s/%d0%99/%C9/ig;
$_[0] =~ s/%d0%9a/%CA/ig;
$_[0] =~ s/%d0%9b/%CB/ig;
$_[0] =~ s/%d0%9c/%CC/ig;
$_[0] =~ s/%d0%9d/%CD/ig;
$_[0] =~ s/%d0%9e/%CE/ig;
$_[0] =~ s/%d0%9f/%CF/ig;
$_[0] =~ s/%d0%a0/%D0/ig;
$_[0] =~ s/%d0%a1/%D1/ig;
$_[0] =~ s/%d0%a2/%D2/ig;
$_[0] =~ s/%d0%a3/%D3/ig;
$_[0] =~ s/%d0%a4/%D4/ig;
$_[0] =~ s/%d0%a5/%D5/ig;
$_[0] =~ s/%d0%a6/%D6/ig;
$_[0] =~ s/%d0%a7/%D7/ig;
$_[0] =~ s/%d0%a8/%D8/ig;
$_[0] =~ s/%d0%a9/%D9/ig;
$_[0] =~ s/%d0%aa/%DA/ig;
$_[0] =~ s/%d0%ab/%DB/ig;
$_[0] =~ s/%d0%ac/%DC/ig;
$_[0] =~ s/%d0%ad/%DD/ig;
$_[0] =~ s/%d0%ae/%DE/ig;
$_[0] =~ s/%d0%af/%DF/ig;
$_[0] =~ s/%d0%b0/%E0/ig;
$_[0] =~ s/%d0%b1/%E1/ig;
$_[0] =~ s/%d0%b2/%E2/ig;
$_[0] =~ s/%d0%b3/%E3/ig;
$_[0] =~ s/%d0%b4/%E4/ig;
$_[0] =~ s/%d0%b5/%E5/ig;
$_[0] =~ s/%d0%b6/%E6/ig;
$_[0] =~ s/%d0%b7/%E7/ig;
$_[0] =~ s/%d0%b8/%E8/ig;
$_[0] =~ s/%d0%b9/%E9/ig;
$_[0] =~ s/%d0%ba/%EA/ig;
$_[0] =~ s/%d0%bb/%EB/ig;
$_[0] =~ s/%d0%bc/%EC/ig;
$_[0] =~ s/%d0%bd/%ED/ig;
$_[0] =~ s/%d0%be/%EE/ig;
$_[0] =~ s/%d0%bf/%EF/ig;
$_[0] =~ s/%d1%80/%F0/ig;
$_[0] =~ s/%d1%81/%F1/ig;
$_[0] =~ s/%d1%82/%F2/ig;
$_[0] =~ s/%d1%83/%F3/ig;
$_[0] =~ s/%d1%84/%F4/ig;
$_[0] =~ s/%d1%85/%F5/ig;
$_[0] =~ s/%d1%86/%F6/ig;
$_[0] =~ s/%d1%87/%F7/ig;
$_[0] =~ s/%d1%88/%F8/ig;
$_[0] =~ s/%d1%89/%F9/ig;
$_[0] =~ s/%d1%8a/%FA/ig;
$_[0] =~ s/%d1%8b/%FB/ig;
$_[0] =~ s/%d1%8c/%FC/ig;
$_[0] =~ s/%d1%8d/%FD/ig;
$_[0] =~ s/%d1%8e/%FE/ig;
$_[0] =~ s/%d1%8f/%FF/ig;

$_[0] =~ s/ /%20/g;
$_[0] =~ s/\+/%20/g;

return $_[0];
}

# =============================================================================
# unicode (urlencoded) -> unicode
# =============================================================================

sub uu2u{
$_[0] =~ tr/+/ /;

$_[0] =~ s/%d0%90/A/ig;
$_[0] =~ s/%d0%91/&#x0411;/ig;
$_[0] =~ s/%d0%92/B/ig;
$_[0] =~ s/%d0%93/&#x0413;/ig;
$_[0] =~ s/%d0%94/&#x0414;/ig;
$_[0] =~ s/%d0%95/E/ig;
$_[0] =~ s/%d0%96/&#x0416;/ig;
$_[0] =~ s/%d0%97/3/ig;
$_[0] =~ s/%d0%98/&#x0418;/ig;
$_[0] =~ s/%d0%99/&#x0419;/ig;
$_[0] =~ s/%d0%9a/K/ig;
$_[0] =~ s/%d0%9b/&#x041B;/ig;
$_[0] =~ s/%d0%9c/M/ig;
$_[0] =~ s/%d0%9d/H/ig;
$_[0] =~ s/%d0%9e/O/ig;
$_[0] =~ s/%d0%9f/&#x041F;/ig;
$_[0] =~ s/%d0%a0/P/ig;
$_[0] =~ s/%d0%a1/C/ig;
$_[0] =~ s/%d0%a2/T/ig;
$_[0] =~ s/%d0%a3/Y/ig;
$_[0] =~ s/%d0%a4/&#x0424;/ig;
$_[0] =~ s/%d0%a5/X/ig;
$_[0] =~ s/%d0%a6/&#x0426;/ig;
$_[0] =~ s/%d0%a7/&#x0427;/ig;
$_[0] =~ s/%d0%a8/&#x0428;/ig;
$_[0] =~ s/%d0%a9/&#x0429;/ig;
$_[0] =~ s/%d0%aa/&#x042A;/ig;
$_[0] =~ s/%d0%ab/&#x042B;/ig;
$_[0] =~ s/%d0%ac/&#x042C;/ig;
$_[0] =~ s/%d0%ad/&#x042D;/ig;
$_[0] =~ s/%d0%ae/&#x042E;/ig;
$_[0] =~ s/%d0%af/&#x042F;/ig;
$_[0] =~ s/%d0%b0/a/ig;
$_[0] =~ s/%d0%b1/&#x0431;/ig;
$_[0] =~ s/%d0%b2/&#x0432;/ig;
$_[0] =~ s/%d0%b3/&#x0433;/ig;
$_[0] =~ s/%d0%b4/&#x0434;/ig;
$_[0] =~ s/%d0%b5/e/ig;
$_[0] =~ s/%d0%b6/&#x0436;/ig;
$_[0] =~ s/%d0%b7/&#x0437;/ig;
$_[0] =~ s/%d0%b8/&#x0438;/ig;
$_[0] =~ s/%d0%b9/&#x0439;/ig;
$_[0] =~ s/%d0%ba/k/ig;
$_[0] =~ s/%d0%bb/&#x043B;/ig;
$_[0] =~ s/%d0%bc/&#x043C;/ig;
$_[0] =~ s/%d0%bd/&#x043D;/ig;
$_[0] =~ s/%d0%be/o/ig;
$_[0] =~ s/%d0%bf/&#x043F;/ig;
$_[0] =~ s/%d1%80/p/ig;
$_[0] =~ s/%d1%81/c/ig;
$_[0] =~ s/%d1%82/&#x0442;/ig;
$_[0] =~ s/%d1%83/y/ig;
$_[0] =~ s/%d1%84/&#x0444;/ig;
$_[0] =~ s/%d1%85/x/ig;
$_[0] =~ s/%d1%86/&#x0446;/ig;
$_[0] =~ s/%d1%87/&#x0447;/ig;
$_[0] =~ s/%d1%88/&#x0448;/ig;
$_[0] =~ s/%d1%89/&#x0449;/ig;
$_[0] =~ s/%d1%8a/&#x044A;/ig;
$_[0] =~ s/%d1%8b/&#x044B;/ig;
$_[0] =~ s/%d1%8c/&#x044C;/ig;
$_[0] =~ s/%d1%8d/&#x044D;/ig;
$_[0] =~ s/%d1%8e/&#x044E;/ig;
$_[0] =~ s/%d1%8f/&#x044F;/ig;

$_[0] =~ s/%(..)/pack("C", hex($1))/eg;
Автор: Mixailo
Дата сообщения: 02.09.2003 18:34
Alex2002
О!
Спасибо
Сейчас это еще на пхп переписать и вперед, к вапу
Автор: dron
Дата сообщения: 29.10.2003 09:09
Секундочку, это нужно вставлять прямо в WML-скрипт? Если да, то куда именно, если нет, то как прописать обращение к файлу с вышеупомянутым скриптом?
Спасибо!
Автор: dron
Дата сообщения: 06.11.2003 08:16
Нашел хорошую прогу перекодировщик WML Unicode Konvertor. Сделали ее наши. Распространяется бесплатно! Простая, маленькая. Вверху пишите по-русски, внизу копируете в буфер получившейся код и вставляете в скрипт. Все! Всем советую!
Автор: Intel83
Дата сообщения: 06.11.2003 09:46
Люди подскажите с чего лучше начать делать сайт на WAP на PHP
какую лучше инфу взять? поделитесь кто нить
Автор: dron
Дата сообщения: 06.11.2003 12:42
По поводу PHP не знаю...
Вообще программировать можно прям в блокноте. Но проще в редакторах... мне понравились SantanaBuilder и WAPtor (где скачал не помню...). Рисунки рисуй в PaintBrush а потом SantanaBuilder сама переконвертирует его в wbmp. Для перекодировки в русские буквы исп. прогу WML Unicode Konvertor. Для просмотра WAP-сайтов исп. WinWAP. Счетчик для сайта возьми на www.wapbanners.net. Чем могу...

Но у меня у самого есть ряд вопросов:
1. Если писать русскими буквами в Unicode, то сайт весит очень много! Можно ли как-нибудь писать по-русски по другому??? Можно конечно писать английскими буквами по-русски, или писать английскими буквы, а вставлять Unicode только некоторые русские (й, ц, ш, щ ну и т.д.), но это гемморойно... Что еще можно придумать???
2. Какой браузер наиболее точно отображает WAP-сайты??? у меня нет возможности проверить сайт на всех мобилах с WAP...

Добавлено
Тут еще вопросик назрел: а скокадолжна весить каждая страничка WAP-сайта??? Я где-то читал что 1,4К, еще где-то 2. Так сколько?
Автор: Mamay
Дата сообщения: 07.11.2003 18:47
dron

Цитата:
Тут еще вопросик назрел: а скокадолжна весить каждая страничка WAP-сайта??? Я где-то читал что 1,4К, еще где-то 2. Так сколько?

Я уже неоднократно заострял внимание на юзер-агентах!
Скоко можно толочь воду в ступе ?

Еще раз повторяю!

У КАЖДОГО ЮЗЕР-АГЕНТА СВОИ ПАРАМЕТРЫ!!!

ДАМП МУСКУЛЕВОЙ БАЗЫ ЮЗЕР-АГЕНТОВ МОГУ ВЫСЛАТЬ НА МЫЛО !!! -- не актуально
Автор: dron
Дата сообщения: 09.11.2003 16:04
Mamay

будьте так любезны!!!
Автор: Gram
Дата сообщения: 16.03.2004 17:25
Как я понял чтобы на мобилке отображались русские буквы, нужно писать их в unicode? Так?

Тогда может быть в php есть встроенная функция для перекодирования?

Добавлено
И еще: как бы мне в perl реализовать процесс перекодирования из win-1251 в unicode? Или там тоже стандартная функция есть?
Автор: Mamay
Дата сообщения: 17.03.2004 20:01
не в unicode а в UTF-8

Добавлено
у меня все WAP сайты в UTF-8
как только начал писать в UTF-8 - сразу забыл про проблемы - правда не все старые девайсы это дело понимают...
Автор: Gram
Дата сообщения: 17.03.2004 23:03

Цитата:
не в unicode а в UTF-8

Ок... но проблема остается: как добиться того, чтобы скрипт сам конвертил текст из win-1251 в utf-8 (скрипт на php и скрипт на perl)?
Автор: Svarga
Дата сообщения: 19.03.2004 00:32
Mamay

Цитата:
Господа о чем спор - как и все остальные браузеры - WAP браузер тоже возвращает свой HTTP_USER_AGENT - исходя из этой информации и при наличии базы этих юзер агентов в которой содержится информация о том какую кодировку понимает наш юзер агент - написать модуль для перекодировки из CP1251 в любую другую - дело 15 минут!

а к чему такие сложности?
не проще ли что-то наподобие такой проверки делать?

Код:
if($ENV{HTTP_ACCEPT}=~m!text/(vnd\.wap\.)?wml!i && -1==index 'Opera', $ENV{HTTP_USER_AGENT}){
# print wml
}
else{
# print html
}
Автор: Gram
Дата сообщения: 19.03.2004 10:58
Svarga

Цитата:
if($ENV{HTTP_ACCEPT}=~m!text/(vnd\.wap.)?wml!i && -1==index 'Opera', $ENV{HTTP_USER_AGENT}){

Расшифруй плиз...

сорри, за оффтоп
Автор: Svarga
Дата сообщения: 19.03.2004 12:06
Gram
если в HTTP_ACCEPT, переданной клиентом, присутствует text/wml или text/vnd.wap.wml и этот клиент не обзывает себя Оперой (Опера поддерживает wml, хоть и не передаёт в HTTP_ACCEPT инфу об этом, но мало ли... может потом будет), то выдаём wml, иначе — html
Автор: web45
Дата сообщения: 06.04.2004 13:02
Вот нормально перекодирующая функция:

function win2utf($in_text){


$output="";
$other[1025]="&#168;";
$other[1105]="&#184;";
$other[1028]="&#170;";
$other[1108]="&#186;";
$other[1030]="I";
$other[1110]="i";
$other[1031]="&#175;";
$other[1111]="&#191;";

for ($i=0; $i<strlen($in_text); $i++){
if (ord($in_text{$i})>191){
$output.="&#".(ord($in_text{$i})+848).";";
} else {
if (array_search($in_text{$i}, $other)===false){
$output.=$in_text{$i};
} else {
$output.="&#".array_search($in_text{$i}, $other).";";
}
}
}
return $output;
}


А у меня другая проблема. Как передать строку с кирилицей из wap-броузера в пхп-скрипт? Если передавать из поля postfield, латинские символы рисуются нормально, а все русские превращаются в символ "?". Может кто-то уже решал? Хелп ми плиз.
Автор: Mamay
Дата сообщения: 09.04.2004 01:24
Gram

Цитата:
чтобы скрипт сам конвертил текст из win-1251 в utf-8

накой ему чего-то конвертить?
делай контент в utf-8
неуж-то в падло хидер задать...

Цитата:
header("Content-Type: text/html; charset=utf-8");


Добавлено
web45
еще раз повторяю - если установить для страницы charset=utf-8 - то все что на ней отображается и все что она возвращает в постфилдах будет в utf-8....
Зачем чего-то куда-то перекодировать ???????????????????????
Автор: Wadimus
Дата сообщения: 26.07.2004 13:37
S UTF-8 lichno u menja mnogo gemorroja vyhodilo, tak chto predlagaju svoju funkciju po perekodirovke v unicode.

Код:
function rus_wap($string)
{
$output = htmlentities($string, ENT_NOQUOTES, cp1251); // Kodiruem v HTML kodirovku. Poluchaem tipa &#1099;

$entities = array("&amp;", "&lt;", "&gt;");
$chars = array("&", "<", ">");
$output = str_replace($entities, $chars, $output);

$search = "/(&#\d{4};)/e";
$replace = "'&#x'.strtoupper(sprintf('%04s', base_convert(substr('\\1', 2, 4), 10, 16))).';'";
$output = preg_replace($search, $replace, $output);
return $output;
}
Автор: Kokoc
Дата сообщения: 26.07.2004 17:24
Надо еще предусмотреть вариант, когда QUERY_SYRING в виде hex-символов: %u043B%u0435...
Автор: Mamay
Дата сообщения: 28.07.2004 20:31
а как насчёт варианта - когда на сайт ломися несколько тысяч юзверей?
и для каждого перекодируются страницы?

как долго юзер будет ждать, если учесть ещё и тормознутость нашего GPRS-a...

а как насчёт арабских, ивритских, чувашских и прочих не агницких букв?
для них тоже такой перекодировщик писать?

Короче, решение ИМХО отдаёт гнилью...
Автор: Wadimus
Дата сообщения: 29.07.2004 11:47
Hmm. Vsja zhe perkodirovka prohodit na servere, i bystrodejstvie IMHO polnostju zavisit ot ego moshi.

Dlja arabskih i izhe s nimi pust' pridumyvajut oni zhe sani dlja svoego jazyka Ja ne pretendoval na absoljutnyj variant.

Ja konechno dumal chto v UTF-8 russkaja bukva kak-by odin simvol, a tut celyh 5 no ja ne sovsem znaju UTF-8, da i MTS na svoem sajte ispolzuet &#...

Da i vrode v etoj teme nichego bolee prostogo ne nahodilos'(krome iznachal'noj koditovki v UTF)
Esli chto, poprav'te
Автор: Mamay
Дата сообщения: 29.07.2004 12:39
Wadimus

Цитата:
Hmm. Vsja zhe perkodirovka prohodit na servere, i bystrodejstvie IMHO polnostju zavisit ot ego moshi.

так-то оно так.
но есть одно НО...

вы протестируйте когда пару тысяч клиентов зайдут одновремено
IIS с Виндовсом2003 на 600 клиенте просто умирает - и мощность машыны - это уже другой вопрос...

Сам web сервер от таких потугов гнётся - и это только на статике.
А на динамике - да ещё и с перекодировками...

Мне по работе приходится писать для разных языков - очень разных...
Писал для немецкого, французского, арабского....
Так вот - кроме как UTF-8, ничего не спасает
Автор: Kokoc
Дата сообщения: 29.07.2004 21:34
Mamay

Цитата:
а как насчёт арабских, ивритских, чувашских и прочих не агницких букв?
для них тоже такой перекодировщик писать?


Нет, речь идет только о кириллице!
Все равно надо как-то перекодировать запрос, если необходим, например, поиск в mysl, где данные хранятся в cp1251 или koi8.
Вот три примера запроса поиска (POST) от разных агентов:

1)От реальной мобилы Motorola С350. Запрос приходит в UTF-8 как "РЎР°_Р" - по байтам это "\xD0\xA1\xD0\xB0\xD0\xB6...".
2) Эмулятор wapsilon (www.wapsilon.com). Параметры кодируются unicode (не UTF-8!) - "%u043B%u0435%u0431%u0435%u0434"
3) WAPSimulator 1.0 использует обычную кодировку windows-1251

И что с таким винигретом делать?
Автор: Kokoc
Дата сообщения: 30.07.2004 15:35
Я вот сочинил "универсальный" перекодировкщик переменных, передаваемых методом POST (GET наверное тоже). Перекодирутся строки в формате UTF-8 (\xD0\xB2\xD0\xA1...), unicode (%u043B%u0435%u0431), ASCII ("ИВАНОВ"), url-encoded ("%C5%CE%CF").
Прочие кодировки кириллицы (koi8 и т.п.) не обрабатываются.

Код:
$win_utf = array( 'А' => 0x0410, 'Б' => 0x0411, 'В' => 0x0412, .. и т.д. - сокращено. И так понятно.)
$utf_win=aray_flip($win_utf);

// Возвращает true, если unicode или false если ASCII
function detect_utf($str)
{
$is_ascii=0; $is_utf=0; $i=0;
while($i<strlen($str)) {
$byte1 = ord(substr($str,$i++,1));
if(($byte1 & 0xF0) == 0xD0) {
$byte2=ord(substr($str,$i++,1));
if(($byte2 & 0xC0) == 0x80) {
$is_utf++;
} else { $is_ascii++; }
} else { $is_ascii++; }
}
return ($is_utfi>$is_ascii);
}

function utf_rep16($e)
{
global $utf_win;
$c=intval($e[1],16);
return (array_key_exists($c,$utf_win)) ? $utf_win[$c] : $e[1];
}

// Основная функция перекодировния. Параметр - значение переменной,
// переданной через POST или GET. Подразумевается, что присутствует только
// кириллица. Возвращает строку в кодировке windows-1251
function utf2win($ustr)
{
global $win_utf, $utf_win;
$ustr=rawurldecode($ustr);
if(strstr($ustr,"%u")) {
$out_str=preg_replace_callback("/%u([\d|A-F]{4})/","utf_rep16",$ustr);
} else {
if(detect_utf($ustr)) {
if(function_exists("mb_convert_encoding")) {
$out_str=mb_convert_encoding($ustr,"WINDOWS-1251","UTF-8");
} else {
$out_str="";
$i=0;
while($i<strlen($ustr)) {
$byte1=ord(substr($ustr,$i++,1));
if(($byte1 & 0xF0) == 0xD0) {
$byte2=ord(substr($ustr,$i++,1));
$word = (($byte1 & 0x1F) << 6) + ($byte2 & 0x3F);
if(array_key_exists($word,$utf_win)) {
$out_str.=$utf_win[$word];
} else {
$out_str.='?';
}
} else {
$out_str.=$byte1;
}
} // while
}
} else {
$out_str=$ustr;
}
}
return $out_str;
}
Автор: Mamay
Дата сообщения: 30.07.2004 17:51

Цитата:
например, поиск в mysl, где данные хранятся в cp1251 или koi8.

обьясни мне, пожалуйста, ЗАЧЕМ в базе хранить данные в кодировке отличной от той в которой выводится контент?

Цитата:
2) Эмулятор wapsilon (www.wapsilon.com).

посмотрел и убедился что писан через задний проход
посмотри сюда wap3 MobileRunner

Цитата:
к сведению -
я работаю на wap3

для тестирования лучше использовать NMIT 4.0 который написан фирмой производителем...

З.Ы.
Я устал бится головой о стену!
Больше в обсуждении этого вопроса я неучаствую!
надеюсь молодые(начинающие) разработчики ВНЕМЛЮТ ГОЛОСУ РАЗУМА...

Добавлено
кстати на сайте нашего эмулятора есть НЕПОЛНЫЙ список клиентов...
клиентами являются крупнейшие европейские операторы сотовой связи...

Страницы: 1234

Предыдущая тема: Интернет - магазин и 1С


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.