Локалізація включає в себе:
- Мовні файли магазину і адміна.
- Переклад меню "Конфігурація" в адмін.
- Переклад країн.
- Регіони Росії.
- Регіони ex-СРСР.
Увага # 33; # 33; # 33; Кодування UTF-8 передбачає використання функцій обробки мультібайтових рядків - Multibyte String. Якщо Ви отримуєте повідомлення "Call to undefined function mb_internal_encoding ()" або, при вимкнених повідомлення про помилки, бачите білий екран - значить у Вас не встановлені ці бібліотеки. Зверніться до хостера.
Додав окремо русифікація osCommerce 2.3.1. Включає в себе:
- Мовні файли магазину і адміна.
- Переклад меню "Конфігурація" в адмін.
- Переклад країн.
- Регіони Росії.
- Регіони ex-СРСР.
Додав товар з російським ім'ям на сайті видно ім'я і в адмннке видно.
В БД видно кракозябри # 208; # 353; # 208; ¾ # 208; ¼ # 208; # 191;
І соответвественно пошук товару російською не працює.
Спробуйте в includes / functions / general.php замінити
function tep_parse_search_string # 40; # 036; search_str = '', # 036; objects # 41; # 036; search_str = trim # 40; strtolower # 40; # 036; search_str # 41; # 41 ;;
function tep_parse_search_string # 40; # 036; search_str = '', # 036; objects # 41; // BOF UTF-8
if # 40; strtolower # 40; CHARSET # 41; == 'utf-8' # 41; # 036; search_str = trim # 40; mb_strtolower # 40; # 036; search_str # 41; # 41 ;;
> else
// EOF UTF-8
# 036; search_str = trim # 40; strtolower # 40; # 036; search_str # 41; # 41 ;;
Так, я спробував, але не було ніякої зміни.
У russian.php не було прописано
mb_internal_encoding ( 'UTF-8');
Після того як я прописав mb_internal_encoding ( 'UTF-8');
пошук по російськи взагалі перестав працювати
я прибрав
// BOF UTF-8
if (strtolower (CHARSET) == 'utf-8') # 036; search_str = trim (mb_strtolower (# 036; search_str));
> else
// EOF UTF-8
з general.php і знову запрацювало. але чутливе до регістру.
Я профан в PHP. але логіка мені підказує що треба "російські" поля обробляти на стадії введення
в admin # 092; categories.php
наприклад ось тут
# 036; languages = tep_get_languages ();
for (# 036; i = 0, # 036; n = sizeof (# 036; languages); # 036; i<$n; $i++) $language_id = $languages[$i]['id'];
# 036; sql_data_array = array ( 'products_name' => tep_db_prepare_input (# 036; HTTP_POST_VARS [ 'products_name'] [# 036; language_id]),
'Products_description' => tep_db_prepare_input (# 036; HTTP_POST_VARS [ 'products_description'] [# 036; language_id]),
'Products_url' => tep_db_prepare_input (# 036; HTTP_POST_VARS [ 'products_url'] [# 036; language_id]));
Ось тут можна як то нав'язати кодування. що б в базу заносилося правильно?
Висловити це на PHP. я на жаль не в змозі.
Андрій, допоможіть, будь ласка.
1. Якщо не вийшло - значить щось не так зробили.
1) В базі у Вас явно не utf-8 - значить потрібно конвертувати дані.
2) Клієнт БД повинен повідомити сервер БД в якому кодуванні він буде працювати з даними. Робити це потрібно в database.php після конекту з сервером БД і вибору БД. Буває щасливий випадок, коли за замовчуванням і так все добре. Але не варто сподіватися на це.
На скачування додана окремо русифікація
Або з офсайта.
Викачуємо, розпаковуємо, закачуємо, в адмін додаємо російський, якщо необхідно, наводимо таблиці БД в потрібний вид (см.п.1), якщо необхідно вантажимо русифікацію меню Configuration адміна, країни, регіони, зони.
Погано запитав, суть ось у чому:
В Opera при переключніі в кодування UTF-8 все прекрастно працює, а в Explorer and Firefox після кожного переходу за посиланням
доводиться перемикати кодування.
Тільки зараз побачив.
Це біда всіх оск-них систем - "вони там" не знають що є щось інше крім ISO_8859-1. Або біда хостингів, що видають власний заголовок "Content-Type:". Хто винен - це кому як більше подобається.
Щоб уникнути цієї проблеми, потрібно в application_top в самий початок додати
@ Header # 40; "Content-Type # 58; text / xml; encoding = utf-8" # 41 ;;
Привіт шановний a_berezin
У мене проблема з кодуванням в Опері, всі інші браузери мозила, Хром, ІЕ, Сафарі - відображають сторінки коректно # 33; Уважно я прочитав весь топік, робив маніпуляції:
1. У .htaccess додати
Результат: Нічого не вийшло (, без змін
2. Куди-небудь в application_top додати
код:
header ( 'Content-type: text / html; charset = utf-8');
Помилка розбору XML
Помилка розбору XML: синтаксична помилка (Рядок: 45, Символ: 428)
Обробити документ як HTML
Помилка:
mismatched end-tag