WackoWiki: WackoIdeas/UnicodeWiki ...

Home Page | Изменения | Новые Комменты | Пользователи | Каталог | Регистрация | Вход:  Пароль:  

!/Multilanguage Pages
Нп Ж.Языки



Dimaпривет. есть вопрос по WackoWiki. ты тут?13.08.2003 18:32:06
Роман Ивановтут, ага.13.08.2003 18:32:21
DimaWackoWiki конечно, не Wiki :)13.08.2003 18:32:36
Dimaда, вопрос: будет ли проблемой использовать её для хранения данных на многих языках, включая такие как китайский, японский?13.08.2003 18:33:10
Роман Иванов

да, будет.


ибо она не работает с UTF (пока?).

13.08.2003 18:33:41
Dimaмне нужен Wiki для хелпа по eMule Plus, а там очень много переводов, и хелпы будут многоязычные13.08.2003 18:33:50
Роман Иванови FTS в mysql по UTF не бывает вроде =(13.08.2003 18:34:03
Dimaпричём очень желательно на PHP, т.к. хост sourceforge.net13.08.2003 18:34:16
Dimaне подскажешь, чем воспользоваться?13.08.2003 18:34:24
Роман Иванов

>> 13.08.2003 18:33:50 Dima wrote:
>> мне нужен Wiki для хелпа по eMule Plus, а там очень много переводов, и хелпы будут многоязычные


если в разных документах, то можно подумать, и какой-то логики добавить
а если в одном – то в морг =(

13.08.2003 18:34:47
Dimaв разных13.08.2003 18:34:59
Dimaа какая логика тут нужна? выдать странице нужный charset?13.08.2003 18:35:53
Dimaили пихать данные в MySQL в нужной форме?13.08.2003 18:36:06
Роман Иванов

тогда можно в качестве метаинформации каждой страницы добавить lang, и выдавать соответствующий чарсет и использовать соотвествующую локаль.


однако, это не поможет с FTS =(

13.08.2003 18:36:33
Dimaкстати, можно спокойно перевести на Unicode – нужно просто все данные туда/сюда конвертить, например, через base6413.08.2003 18:37:24
Dimaи FTS будет работать13.08.2003 18:37:33
Dimaвопрос, сколько кода для этого нужно перелопатить13.08.2003 18:37:44
Роман Ивановbase64? хммм. хммм.13.08.2003 18:38:08
Dimaну да, придётся проверку ещё раз делать, перед показом данных, что ошибки не произошло и мы нашли правильно13.08.2003 18:38:56
Dimaно это уже мелочи13.08.2003 18:39:02
Роман Ивановпока я не очень понимаю, как это делать, с base64.13.08.2003 18:39:49
Dimaно у меня нет времени такими вещами заниматься, я лучше в регистр mysql поддержку добавлю :))13.08.2003 18:39:54
Dimaну как, очень просто13.08.2003 18:39:58
Dimaкогда добавляешь данные в БД, сначала пропусти через base64_encode()13.08.2003 18:40:28
Dimaна обратном пути base64_decode()13.08.2003 18:40:38
Dimaне все данные, а только те, которые содержат текст, конечно13.08.2003 18:41:00
Роман Ивановкак это поможет найти документ, содержащий японской слово kuso (на иероглифах)?13.08.2003 18:41:27
Dimaможно даже сделать, чтобы это внутри функций, работающих с БД было, просто нужные поля им пометить13.08.2003 18:41:27
Dimaпри поиске ты тоже ищешь слово, закодированное в base6413.08.2003 18:41:50
Dimaили оно там неоднозначно кодируется? ща проверю13.08.2003 18:42:23
Dimaв общем неважно, можно использовать более простую функцию, однозначно перекодирующую13.08.2003 18:43:29
Dimaда, размер БД сильно возрастёт13.08.2003 18:43:38
Dimaно зато будет поддержка юникода13.08.2003 18:43:45
Роман Иванова откуда узнавать праввильный чарсет?13.08.2003 18:44:13
Dimaгм13.08.2003 18:44:23
Dimaа в каком виде данные в php скрипт попадают? т.е. если я введу юникод, в скрипт придёт юникод или система данные почикает в соответствии с локалью?13.08.2003 18:45:33
Dimaт.е. вопрос: проблема только с БД или на уровне скрипта тоже?13.08.2003 18:45:48
Dimaя не проверял, честно говоря – у меня до сих пор таких проблем не возникало13.08.2003 18:46:04
Роман Ивановтебе не ввести уникод, пока на странице выставлен charset=windows-1251, ага?13.08.2003 18:46:12
Dimaнаверное, я не проверял :)13.08.2003 18:46:20
Роман Иванов

>> 13.08.2003 18:44:13 Роман Иванов wrote:
>> а откуда узнавать праввильный чарсет?


я понял ответ, ага, оно в уникоде будет.

13.08.2003 18:46:45
Роман Ивановно кроме чарсета есть ещё локаль13.08.2003 18:46:55
Dimaладно, мы от темы уклонились :)13.08.2003 18:46:57
Роман ИвановКемелКейс без локали не опознать13.08.2003 18:47:08
Dimaты мне лучше скажи, если я текст буду пихать как обычно в БД, а на странице будет правильный чарсет, оно работать будет?13.08.2003 18:47:33
Dimaоно=WackoWiki13.08.2003 18:47:52
Роман Ивановвопрос не понял.13.08.2003 18:47:57
Dimaну допустим, кто-то пишет по-китайски страницу, в которой указан китайский чарсет13.08.2003 18:48:18
Dimaв БД оно запишется без проблем?13.08.2003 18:48:27
Dimaили одними вопросительными знаками?13.08.2003 18:48:41
Роман Иванов

смотри.


сейчас: текст не в уникоде приходит от юзера. кладётся в бд. согласно настройкам ___ваки___ в нём размечаются КемелКейсы (т.е. используется локаль).


потом никем никуда неконвертированный текст согласно настройкам ___ваки___ выдаётся с определённым чарсетом.

13.08.2003 18:49:38
Роман Иванов

то есть если поставить рядом две ваки, одну с lang => de, другую с lang => ru, то всё будет хорошо.


а в рамках одной не будет.

13.08.2003 18:50:13
Роман Ивановесли перевести на уникод:13.08.2003 18:50:24
Роман Ивановтекст от юзера приходит в уникоде, кладётся в БД, выдаётся юзеру обратно в уникоде.
но как размечать КемелКейс — непонятно.
13.08.2003 18:51:00
Dimaясно13.08.2003 18:51:12
Dimaну у меня ситуация всё-таки проще13.08.2003 18:51:19
Dimaна одной странице может быть только один язык использован13.08.2003 18:51:30
Роман Ивановничуть не проще =)13.08.2003 18:51:45
Dimaто есть, если я настрою, что у страниц /wiki/ru/... будет русская локаль, а у страниц /wiki/cn/... китайская, оно ведь будет работать?13.08.2003 18:52:23
Роман Ивановну, наверное, да =)13.08.2003 18:54:23
Dimaну в общем, будем посмотреть :)13.08.2003 18:54:32
Dimaне подскажешь, где эти строчки дописать? мне просто лень искать нужное место в скрипте :) написать-то я напишу13.08.2003 18:55:07
Роман Иванов

сейчас локаль жёстко прописана в начале wakka.php
там же жёстко прописано, что считается UPPER, а что lower.
а чарсет жёстко прописан в themes/default/appearence/header.php


зависимость от lang будет только в R4.

13.08.2003 18:56:39
Dimaвот это
setlocale(LC_CTYPE,'ru_RU.CP1251');
и вот это
header("Content-Type: text/html; charset=windows-1251")
правильно?
т.е. если я что-то пропустил, то поиск по 1251 выведет меня на нужную дорогу, да? :)
13.08.2003 18:57:59
Роман Ивановвот эти два плюс
define("UPPER","[A-Z\xc0-\xdf\xa8]");
define("UPPERNUM","[0–9A-Z\xc0-\xdf\xa8]");
define("LOWER","[a-z\xe0-\xff\xb8\/\']");
13.08.2003 18:58:29
Dimaвопрос, а насколько нужен setlocale в скрипте? на что он влияет?13.08.2003 18:58:47
Роман Иванов

на ровно две вещи.


\b в регекспах и strtoupper/strtolower

13.08.2003 18:59:08
Dimaа что такое UPPER/LOWER? разрешённые символы? что случится, если я уберу эти ограничения?13.08.2003 18:59:21
Роман Иванов

переписывать регекспы без \b – заимёшся =(
Upper/lower – это для регекспа, определяющего кемелкейс:


\b(".UPPER.ALPHANUM."+\.".ALPHANUM."+)\b

13.08.2003 19:00:45
Dimaгм...13.08.2003 19:00:59
Dimaчто же мне делать?13.08.2003 19:01:02
Роман Иванов

стреляться =(((


или тщательно собирать инфу о чарсетах, локалях и списки upper/lower символов.
это жопа.

13.08.2003 19:01:33
Dimaда уж13.08.2003 19:01:41
Dimaблин13.08.2003 19:01:43
Dimaкак же мне быть...13.08.2003 19:01:50
Роман Ивановпоискать уинкодную вику.13.08.2003 19:01:59
Роман Ивановуникодную.13.08.2003 19:02:03
Dima:)13.08.2003 19:02:03
Роман Ивановне исключено, что такие в природе есть.13.08.2003 19:02:15
Dimaесть вроде13.08.2003 19:02:45
Dimahttp://www.wikipedia.org/wiki/Wikipedia:PHP_script13.08.2003 19:02:48
Роман Иванов

не вижу там про уникод


но если это так, то это клёво

13.08.2003 19:04:14
Dimaну сама wikipedia работает на куче языков и не жалуется13.08.2003 19:04:32
Dimaмне это и надо :)13.08.2003 19:04:36
Dimaа как они там внутри организовали – не важно,13.08.2003 19:04:50
Роман Ивановугу, если там не отдельная инсталляция для каждого языка.13.08.2003 19:04:57

 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]
Donate
Время работы: 27.278 s
Использовано памяти: 2.657 Mb