Просмотр темы
Locale UTF-8 для v7.02.06
|
|
grungestranger |
Опубликовано 03.03.2013 14:20
|
![]() Пользователь ![]() Сообщений: 83 Зарегистрирован: 25.02.2013 21:52 |
Система чистая. |
|
|
BolkS |
Опубликовано 03.03.2013 14:25
|
![]() Пользователь ![]() Сообщений: 126 Зарегистрирован: 24.02.2011 17:23 |
Надеюсь админы займутся и сделают все как надо. Движок переконвертированный в UTF-8 без BOOM, локаль в UTF-8 и аддоны соответственно! Буду ждать, Удачи! v7.02.06
|
|
|
APTEMbI4 |
Опубликовано 03.03.2013 15:45
|
![]() Пользователь ![]() Сообщений: 135 Зарегистрирован: 14.11.2012 16:49 |
Интересно было бы посмотреть ![]() |
|
|
Vova |
Опубликовано 03.03.2013 15:46
|
![]() Ветеран ![]() Сообщений: 877 Зарегистрирован: 05.08.2011 11:53 |
Интересно было бы посмотреть А если ставить ещё дополнительные плагины. Их тоже конвертить? Да. Надеюсь админы займутся и сделают все как надо. Движок переконвертированный в UTF-8 без BOOM, локаль в UTF-8 и аддоны соответственно! Буду ждать, Удачи! Уже сделал? grungestranger написал: FAQ по utf8: Замените папку /locale/Russian на локаль из этой темы. В файле /locale/Russian/setup.php заменить: на В файлах /setup.php и /maincore.php после: $db_connect = @mysql_connect($db_host, $db_user, $db_pass); добавить Если база данных уже существует, то конвертировать ее в utf8: $query = mysql_query("SHOW TABLES"); Иначе - создать новую базу данных с collation (сравнением) utf8_general_ci У всех плагинов файлы локалей перекодировать в utf8, и проверить с каким сравнением создаются таблицы в базе данных. При установке с нуля на хостинге - все отлично. При установке с нуля на денвере - в последнем шаге установки выдает ошибку: Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test.ru\www\locale\Russian\setup.php:1) in Z:\home\test.ru\www\setup.php on line 29 Но вроде бы все устанавливается нормально. Кто знает, из-за чего эта ошибка на денвере - отпишитесь) Конвертни в без БОМ. Изменил(а) Vova, 03.03.2013 15:48 Мои сайты: ABCVG.com / Допомога учням / ГДЗ / 8Gamers - Игровой портал / Мониторинг CS / Мониторинг игровых серверов / Хостинг от ABCVG.net
|
|
|
BolkS |
Опубликовано 03.03.2013 15:48
|
![]() Пользователь ![]() Сообщений: 126 Зарегистрирован: 24.02.2011 17:23 |
APTEMbI4, конвертации одной бывает недостаточно. Приходится код править с явным указанием UTF-8. Ну или переписывать плагин с нуля...
v7.02.06
|
|
|
Vova |
Опубликовано 03.03.2013 15:49
|
![]() Ветеран ![]() Сообщений: 877 Зарегистрирован: 05.08.2011 11:53 |
BolkS написал: APTEMbI4, конвертации одной бывает недостаточно. Приходится код править с явным указанием UTF-8. Ну или переписывать плагин с нуля... Зачем с нуля? Просто поправить нужние вещи. Мои сайты: ABCVG.com / Допомога учням / ГДЗ / 8Gamers - Игровой портал / Мониторинг CS / Мониторинг игровых серверов / Хостинг от ABCVG.net
|
|
|
BolkS |
Опубликовано 03.03.2013 15:52
|
![]() Пользователь ![]() Сообщений: 126 Зарегистрирован: 24.02.2011 17:23 |
Я пробовал уже править. Иногда доходит до безобразия - почти в каждой строчке явно указывать UTF-8. Проще переписать... v7.02.06
|
|
|
Vova |
Опубликовано 03.03.2013 15:59
|
![]() Ветеран ![]() Сообщений: 877 Зарегистрирован: 05.08.2011 11:53 |
BolkS написал: Я пробовал уже править. Иногда доходит до безобразия - почти в каждой строчке явно указывать UTF-8. Проще переписать... Я свой движок. Переделал в UTF-8 полностю. Но потом назад вернул. Так как много занимает эта кодировка. 4 байта символ. А в 1251 - 1 байт. Этим скриптом базу конвертируеш. <?php Делаеш кодировку соединия utf_general_ci. Конвертируеш все файлы в UTF-8 БЕЗ БОМ. Далее ищеш NotePad++. Открываеш всё файлы. И делаеш массовую замену cp1251 и windows-1251 на utf-8. Ставиш расширение mb_strings для PHP. Далее ищеш функции strlen и substr. И заменяеш их на mb_strlen и mb_substr. И всё. Мои сайты: ABCVG.com / Допомога учням / ГДЗ / 8Gamers - Игровой портал / Мониторинг CS / Мониторинг игровых серверов / Хостинг от ABCVG.net
|
|
|
Polarfox |
Опубликовано 03.03.2013 16:29
|
![]() Администратор ![]() Разработчики ![]() Группа поддержки ![]() Сообщений: 3377 Зарегистрирован: 20.08.2010 14:03 |
Для чего тебе 4х байтный уникод?
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
grungestranger |
Опубликовано 03.03.2013 16:56
|
![]() Пользователь ![]() Сообщений: 83 Зарегистрирован: 25.02.2013 21:52 |
mb_strings ставить обязательно? |
|
|
Vova |
Опубликовано 03.03.2013 18:00
|
![]() Ветеран ![]() Сообщений: 877 Зарегистрирован: 05.08.2011 11:53 |
А сколько занимает один символ в кодировке юникод? Да. Мои сайты: ABCVG.com / Допомога учням / ГДЗ / 8Gamers - Игровой портал / Мониторинг CS / Мониторинг игровых серверов / Хостинг от ABCVG.net
|
|
|
grungestranger |
Опубликовано 03.03.2013 18:26
|
![]() Пользователь ![]() Сообщений: 83 Зарегистрирован: 25.02.2013 21:52 |
А сколько занимает один символ в кодировке юникод? Есть обычный юникод, в котором латинские символы занимают 1 байт, все остальные 2 байта, есть 16 битный юникод, в котором все символы по 2 байта grungestranger написал: mb_strings ставить обязательно? Да. Что-то всю жизнь нормально работал без mb_strings на utf8 и все работало. |
|
|
Vova |
Опубликовано 03.03.2013 18:59
|
![]() Ветеран ![]() Сообщений: 877 Зарегистрирован: 05.08.2011 11:53 |
grungestranger написал: А сколько занимает один символ в кодировке юникод? Есть обычный юникод, в котором латинские символы занимают 1 байт, все остальные 2 байта, есть 16 битный юникод, в котором все символы по 2 байта grungestranger написал: mb_strings ставить обязательно? Да. Что-то всю жизнь нормально работал без mb_strings на utf8 и все работало. 00000000 — 0000007F 1 байт ASCII, в том числе латинский алфавит, простейшие знаки препинания и арабские цифры 00000080 — 000007FF 2 байта кириллица, расширенная латиница, арабский, армянский, греческий, еврейский и коптский алфавит; сирийское письмо, тана, нко; МФА; некоторые знаки препинания 00000800 — 0000FFFF 3 байта все другие современные формы письменности, в том числе грузинский алфавит, индийское, китайское, корейское и японское письмо; сложные знаки препинания; математические и другие специальные символы 00010000 — 001FFFFF 4 байта музыкальные символы, редкие китайские иероглифы, вымершие формы письменности Мои сайты: ABCVG.com / Допомога учням / ГДЗ / 8Gamers - Игровой портал / Мониторинг CS / Мониторинг игровых серверов / Хостинг от ABCVG.net
|
|
|
SchreiBear |
Опубликовано 03.03.2013 19:29
|
![]() Ветеран ![]() Сообщений: 625 Зарегистрирован: 05.01.2013 11:01 |
Serge Renard написал: При установке с нуля на денвере - в последнем шаге установки выдает ошибку: Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test.ru\www\locale\Russian\setup.php:1) in Z:\home\test.ru\www\setup.php on line 29 Но вроде бы все устанавливается нормально. Кто знает, из-за чего эта ошибка на денвере - отпишитесь) Смысл ошибки понятен - не получается сделать переадресацию на index.php из-за того, что на страницу уже пошёл вывод и заголовки не могут быть отправлены. Однако IMHO ошибка эта возникает скорее всего не только на Денвере, но и у тебя на хостинге тоже - просто на хостинге, как правило, отключён вывод предупреждений PHP, и ты их просто не видишь :) вот ответ относительно HEADER в шапку setup.php if(!headers_sent()){ header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Content-type: text/html; charset=UTF-8");} пройдёт без ошибки http://www.php.ne...s-sent.php Изменил(а) SchreiBear, 03.03.2013 19:41 Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
|
|
|
grungestranger |
Опубликовано 03.03.2013 20:07
|
![]() Пользователь ![]() Сообщений: 83 Зарегистрирован: 25.02.2013 21:52 |
Кому не сложно, объясните по-подробнее - что делает и зачем нужен mb_strings в php fusion при кодировке utf8.
Изменил(а) grungestranger, 03.03.2013 20:20 |
|
|
SchreiBear |
Опубликовано 03.03.2013 21:32
|
![]() Ветеран ![]() Сообщений: 625 Зарегистрирован: 05.01.2013 11:01 |
всё я сделал! работает !!! ушли квадраты с длинных слов . не проглатывает буквы .. UTF-8 без БУМ setup.php всё дело в длине строки заносимых Базу данных VARCHAR(50) на VARCHAR(64) смотреть ещё нужно к примеру длину строки к примеру в мини чате они должны быть адаптированны под UTF-8 ИХ длинна не совпадает с с латиницы. по этому!!! работайте автономно в режиме научного ТЫКА всё остальное как было описано ранее изменения в setup.php в шапку добавляем if(!headers_sent()){ locale/Russian/global.php строка 15 на locale/Russian/global.php строка 6 на в папке themes/templates/ в файлах header в админке и везде перед echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>\n"; подбавлял строку чтобы на 100% было всё ПУЧЬКОМ!!! полностью папку files с под папками и мамками;) и всё файлы *.php конвертировал в UTF-8 no BOM ВСЁ! поправите если что забыл... прогу прилепил - тестирую дальше
SchreiBear присоединено следующее:файл:
Изменил(а) SchreiBear, 03.03.2013 22:27 Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
|
|
|
Polarfox |
Опубликовано 03.03.2013 21:52
|
![]() Администратор ![]() Разработчики ![]() Группа поддержки ![]() Сообщений: 3377 Зарегистрирован: 20.08.2010 14:03 |
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
grungestranger |
Опубликовано 04.03.2013 00:52
|
![]() Пользователь ![]() Сообщений: 83 Зарегистрирован: 25.02.2013 21:52 |
Vova, действительно без mb_ не обойтись. edmonsur, не думаю, что в БД нужно что-то менять. Тестировал мини-чат (который стоит на этом сайте) - сначала длинный русский текст обрезался, вместо 200 символов было ~ 140, но после исправления некоторых ошибок (preg_replace без /u, strlen хотя должен быть mb_strlen [потом распишу все подробно]) все стало работать правильно без каких-либо изменений в БД. Друзья, подскажите, обязательно ли конвертировать ВСЕ файлы в utf8, или достаточно только файлы локали? (У меня переконвертированы только файлы локали, и вроде все нормально работает) |
|
|
Polarfox |
Опубликовано 04.03.2013 01:07
|
![]() Администратор ![]() Разработчики ![]() Группа поддержки ![]() Сообщений: 3377 Зарегистрирован: 20.08.2010 14:03 |
grungestranger, а потому что чатики писались под однобайтову кодировку. И так будет со всеми плагинами, внезапно окажется что у них там свои заморочки под 1 байт заточенные, например. Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
Vova |
Опубликовано 04.03.2013 06:41
|
![]() Ветеран ![]() Сообщений: 877 Зарегистрирован: 05.08.2011 11:53 |
grungestranger написал: Vova, действительно без mb_ не обойтись. edmonsur, не думаю, что в БД нужно что-то менять. Тестировал мини-чат (который стоит на этом сайте) - сначала длинный русский текст обрезался, вместо 200 символов было ~ 140, но после исправления некоторых ошибок (preg_replace без /u, strlen хотя должен быть mb_strlen [потом распишу все подробно]) все стало работать правильно без каких-либо изменений в БД. Друзья, подскажите, обязательно ли конвертировать ВСЕ файлы в utf8, или достаточно только файлы локали? (У меня переконвертированы только файлы локали, и вроде все нормально работает) Нужно все файлы в которих есть текст переконвертировать.. Мои сайты: ABCVG.com / Допомога учням / ГДЗ / 8Gamers - Игровой портал / Мониторинг CS / Мониторинг игровых серверов / Хостинг от ABCVG.net
|
|
Поделиться этой темой | |
Социальные закладки: |
![]() ![]() ![]() ![]() ![]() ![]() |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |