UTF-8 на форуме

Вопросы без привязки к версии. Установлена авточистка (2 года).

UTF-8 на форуме

Сообщение 777KoM777 10.02.2007 21:59

:oops: Есть ли phpbb в UTF-8???
777KoM777
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 10.02.2007 20:28


Сообщение Xpert 10.02.2007 22:31

Он и так поддерживает, в чем проблема?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5716
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru

Сообщение 777KoM777 10.02.2007 23:50

Он и так поддерживает, в чем проблема?

И как мне его в UTF-8 то?
777KoM777
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 10.02.2007 20:28

Сообщение Xpert 11.02.2007 1:22

Его это кого? Уже работающий форум, новый форум? Я же вас попросил подробнее проблему описать.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5716
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru

Сообщение shurakaretny 27.05.2007 22:00

Вечер добрый.
Подскажите пожалуйста, как мне установить форум сразу в кодировке UTF-8 чтобы это потом не повлекло проблем? Какие необходимые оперцаии нужно выполнить?
shurakaretny
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 15.06.2006 4:30

Сообщение m157y 27.05.2007 22:07

установите форум и в базе для таблиц установите кодировку utf-8
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
m157y
phpBB 2.0.11
 
Сообщения: 464
Зарегистрирован: 08.08.2006 16:32

Сообщение shurakaretny 28.05.2007 1:21

в поисках решения проблемы я наткнулся на этот материал:

http://www.neothermic.com/kb/article308.html

тут по шагам расписано какие операции необходимо сделать.

pichirichi писал(а):I've noticed many question on UTF-8 and several not so acurate tips on the support forum. I've gathered several points that need to be taken into considuration when doing that switch.

My interest with UTF-8 started at the point that I had to upgrade my site to UTF-8 since my hosting "forced" me. The MySql database was upgraded and all the data was shifted to a new charset: UTF-8.

Here are some tips regarding utf-8/unicode:


1. Edit all the lang files and save them as utf-8 (you can use UltraEdit for that, use the convert option).
2. Edit all e-mailslocated in the lang directory, replace the charset and save them as utf-8 (you can use ultraedit here as well).

Код: Выделить всё
Charset: utf-8


There is an issue with the subject line (some charecters disappear, still looking for resolution).
3. You need to convert the database data to utf-8.
This can be done in few manners:

1. lock the forum in the ACP for updates, export the data. convert the exported file to utf-8 (using an editor or a convert program). refresh the data.
2. MySql commands - version 4.1.x come with several new features regarding charecter set handling.
Columns COLLATE and CHARACTER should be defined.

Код: Выделить всё
ALTER TABLE `test table` CHANGE `a` `a` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL

This command will alter the data stored in the column, there is a batch command that can be used for this process.
3. you can find few utf-8 convertors on the "Convertors" forum.

4. You got to use phpMyAdmin that support utf-8.
5. after the connect to db command the following code should be added:


Код: Выделить всё
//
      // Set charecters set parameters according to MySql version.
      //
      $result = mysql_query('SELECT VERSION()') or die('Query failed: ' . mysql_error());
      $mysql_version = mysql_fetch_array($result, MYSQL_ASSOC);
      list($mysql_version_majour,$mysql_version_minor,$mysql_version_patch) = split('\.',$mysql_version['VERSION()']);
      if (($mysql_version_majour >=4) && ($mysql_version_minor>=1))
      {
         $result = mysql_query('SET character_set_client = utf8') or die('Query failed: ' . mysql_error());
         $result = mysql_query('SET character_set_results = utf8') or die('Query failed: ' . mysql_error());
         $result = mysql_query('SET character_set_connection = utf8') or die('Query failed: ' . mysql_error());
      }

6. Special charecters: there are some charecters used by MOD developers that translate into gibrish when using utf-8.
i.e. "»" that usualy used for won't be displayed correctly on utf-8, this sign should be replaced in tpl files or php code. It can be changed to

Код: Выделить всё
»


7. String manipulation such as substr command won't work with multi byte/utf-8.
Cutting charecters depen on how many bites they take, try to read on .
php site in the comment area about this issue. You should define an encoding string based on the encoding you want to use. the best way would be to use the parameter defined in $lang['ENCODING'] however the value in this parameter is set in a later stage. In the extension.inc file define:

Код: Выделить всё
   mb_internal_encoding('UTF-8');

Note: There are some updates regarding the return values from the mb lib functions.
ie. mb_string() returns empty _string_, when function substr() returns _boolean_ false in this case.

8. MB lib - there is a server parameter that provide the ability to automaticly override all the relevant string functions with MultiByte functions. Read on PhpNet about it.
If you'll set the parameter mbstring.func_overload in the php.ini to 7 you won't need to change and replace all the string functions. For those who don't have permitions to update the php.ini you can override the value in the .htaccess file with this code line:

Код: Выделить всё
php_value mbstring.func_overload 7



9. highlight on Search - no working on UTF-8, I'm still looking into this issue.[code]


И тут у меня возникли вопросы... Я не знаток php вообще. Поясните пожалуйста, если возможно, что делает код в пункте 5? И самое главное, куда его добавлять? Я понимаю что вопрос следовало бы щадать там, да я не нестолько хорош в английском, да и мануал тот писан давно.

Далее у меня проблемы с 7 пунктом, когда я редактирую extension.inc как указано - форум выдает ошибку и ничего не работает.

Ну и наконец 8 пункт. Как мне сменить параметр mbstring.func_overload если у меня нет доступа к php.ini?
В файле .htaccess нет такого параметра, в том который находиться в public_html.

Благодарен заранее всем кто может помочь.

Также считаю нужным пояснить цель на пути к достижению которой находится данная проблема. Сайт использует utf-8 кодировку, а форум windows-1251. Но некоторая информация с форума нужна для отображения на сайте. Нетрудно догадаться что будет в случае несовместимости кодировки. Вероятно есть пути решения проблема с помощью перекодировки информации перед передачей ее скриптам сайта из базы ,но хотелось бы добиться унификации. Да и как мне кажется за Unicode будущее.
shurakaretny
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 15.06.2006 4:30

Сообщение koptev_m 09.06.2007 16:03

а как перевести уже работающий форум с кодировкой 1251 на utf
koptev_m
phpBB 1.0.0
 
Сообщения: 4
Зарегистрирован: 04.05.2007 16:00

Сообщение crash 09.06.2007 16:08

koptev_m
делаете бэкап
переводите в ютф
восстанавливаете бэкап
переводите файлы языковые в ютф
ну и сама база в ютф должна быть
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Support Team Leader
 
Сообщения: 6967
Зарегистрирован: 07.07.2004 16:12
Откуда: Мирный

Сообщение koptev_m 09.06.2007 16:11

1. сделал
2. в utf перекодить вручную или на myadminSQl
3. тут понятно
4. это где?
5. само собой
koptev_m
phpBB 1.0.0
 
Сообщения: 4
Зарегистрирован: 04.05.2007 16:00

Сообщение crash 09.06.2007 16:15

koptev_m писал(а):2. в utf перекодить вручную или на myadminSQl

ну это как вам удобно
koptev_m писал(а):4. это где?

то есть где? в папке lang_russian
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Support Team Leader
 
Сообщения: 6967
Зарегистрирован: 07.07.2004 16:12
Откуда: Мирный

Сообщение koptev_m 09.06.2007 16:41

на что поменять строчку
ENGINE=MyISAM DEFAULT CHARSET=koi8r;

на
ENGINE=MyISAM DEFAULT CHARSET=utf8_general_ci;

или что то еще надо сделать?
koptev_m
phpBB 1.0.0
 
Сообщения: 4
Зарегистрирован: 04.05.2007 16:00


Вернуться в phpBB-пространство

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0