Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: КОДИРОВКА

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: WML
FRY
Отправлено: 13 Августа, 2011 - 10:34:27
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




я делаю игру.почему когда допустим я пишу в ней кому нибудь допустим какому нибудь персонажу,то пишется ППРСП?

header("Content-type:text/vnd.wap.wml;charset=UTF-8");
setlocale (LC_CTYPE, 'ru_RU.CP1251');
function win2unicode ( $s ) { if ( (ord($s)>=192) & (ord($s)<=255) ) $hexvalue=dechex(ord($s)+848); if ($s=="Ё") $hexvalue="401"; if ($s=="ё") $hexvalue="451"; return("&#x0".$hexvalue.";");}
function translate($s) {return(preg_replace("/[А-яЁё]/e","win2unicode('\\0')",$s));}
ob_start("translate");


вот такая функция используется.из за нее невозможно писать русскими буквами.
(Добавление)
почему?
 
 Top
PATCH
Отправлено: 13 Августа, 2011 - 11:20:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




а без нее можно писать?)
(Добавление)
я если честно не пойму строк типо "/[А-яЁё]/e" -
потому что у вас тут замена всех русских букв на "win2unicode('\\0')" мб я не правильно понел.
Кстати Ё тоже буква русского алфавита не надо ее отдельно проверятЬ)

ord всех русских букв

PHP:
скопировать код в буфер обмена
  1. ё = 184
  2. й = 233
  3. ц = 246
  4. у = 243
  5. к = 234
  6. е = 229
  7. н = 237
  8. г = 227
  9. ш = 248
  10. щ = 249
  11. з = 231
  12. х = 245
  13. ъ = 250
  14. ф = 244
  15. ы = 251
  16. в = 226
  17. а = 224
  18. п = 239
  19. р = 240
  20. о = 238
  21. л = 235
  22. д = 228
  23. ж = 230
  24. э = 253
  25. я = 255
  26. ч = 247
  27. с = 241
  28. м = 236
  29. и = 232
  30. т = 242
  31. ь = 252
  32. б = 225
  33. ю = 254
  34. Ё = 168
  35. Й = 201
  36. Ц = 214
  37. У = 211
  38. К = 202
  39. Е = 197
  40. Н = 205
  41. Г = 195
  42. Ш = 216
  43. Щ = 217
  44. З = 199
  45. Х = 213
  46. Ъ = 218
  47. Ф = 212
  48. Ы = 219
  49. В = 194
  50. А = 192
  51. П = 207
  52. Р = 208
  53. О = 206
  54. Л = 203
  55. Д = 196
  56. Ж = 198
  57. Э = 221
  58. Я = 223
  59. Ч = 215
  60. С = 209
  61. М = 204
  62. И = 200
  63. Т = 210
  64. Ь = 220
  65. Б = 193
  66. Ю = 222

(Отредактировано автором: 13 Августа, 2011 - 11:31:55)

 
 Top
FRY
Отправлено: 13 Августа, 2011 - 12:52:34
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




А МОЖН ОСРАЗУ ПОКАЗАТ ЬКАК В ГОТОВОМ ВИДЕ БУДЕТ ВЫГЛЯДЕТЬ?
 
 Top
PATCH
Отправлено: 13 Августа, 2011 - 13:18:33
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




можно б былоб еслиб я б понел для чего вы
1)Возвращаете ASCII код символа
2)для чего $hexvalue ( $hexvalue=dechex(ord($s)+848))
3) а так же что вы пытались сделать тут translate($s) {return(preg_replace("/[А-яЁё]/e","win2unicode('\\0')",$s));}

(Отредактировано автором: 13 Августа, 2011 - 13:24:06)

 
 Top
FRY
Отправлено: 13 Августа, 2011 - 17:30:52
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




как вообще сделат ьчто бы кодировка была норм и писались русские буквы?и что бы стиль тоде вмл остался?
 
 Top
PATCH
Отправлено: 13 Августа, 2011 - 18:54:32
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




PHP:
скопировать код в буфер обмена
  1. //шапка сайта идет проверка для мобилы или нет страничка
  2. if ($HTTP_ACCEPT=="text/vnd.wap.wml") { header('Content-Type: text/vnd.wap.wml'); echo "<?xml version='1.0'?> <!DOCTYPE wml PUBLIC '-//WAPFORUM//DTD WML 1.1//EN' 'http://www.wapforum.org/DTD/wml_1.1.xml\'> <wml><card id='begin' title='Example.RU'> <wml><card>"; }
  3. else
  4. {echo
  5. "<html>
  6. <head></head>
  7. <body>"; }
  8. // нехватает ё Ё добавить в массив  
  9. $cyr = array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц','Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я');
  10.  
  11. $utf = array("&#x0410;", "&#x0411;", "&#x0412;", "&#x0413;", "&#x0414;", "&#x0415;", "&#x0416;", "&#x0417;", "&#x0418;", "&#x0419;", "&#x041A;", "&#x041B;", "&#x041C;", "&#x041D;", "&#x041E;", "&#x041F;", "&#x0420;", "&#x0421;", "&#x0422;", "&#x0423;", "&#x0424;", "&#x0425;", "&#x0426;", "&#x0427;", "&#x0428;", "&#x0429;", "&#x042A;", "&#x042B;", "&#x042C;", "&#x042D;", "&#x042E;", "&#x042F;", "&#x0430;", "&#x0431;", "&#x0432;", "&#x0433;", "&#x0434;", "&#x0435;", "&#x0436;", "&#x0437;", "&#x0438;", "&#x0439;", "&#x043A;", "&#x043B;", "&#x043C;", "&#x043D;", "&#x043E;", "&#x043F;", "&#x0440;", "&#x0441;", "&#x0442;", "&#x0443;", "&#x0444;", "&#x0445;", "&#x0446;", "&#x0447;", "&#x0448;", "&#x0449;", "&#x044A;", "&#x044B;", "&#x044C;", "&#x044D;", "&#x044E;", "&#x044F;");
  12.  
  13. $text = "Сам текст, который нужно конвертировать.";
  14. //если добавить в массив ё Ё изменить $i<64 на $<66
  15. for ($i=0;$i<64;$i++) {
  16.      $text = str_replace($cyr[$i], $utf[$i], $text);
  17. }
  18.  
  19. //подвал
  20. if ($HTTP_ACCEPT=="text/vnd.wap.wml")
  21. {
  22.         echo"</card></wml>";
  23. }
  24. else
  25. {
  26.         echo "</body></html>";
  27. }

тебе осталось только доработать массивы там не хватка ё Ё

вот статья для понятия http://www.astromobile.ru/webdesign/wap-site/

(Отредактировано автором: 13 Августа, 2011 - 18:55:18)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Кодировки и все смежное »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB