Oscommerce 2 1

Локалізація включає в себе:
- Мовні файли магазину і адміна.
- Переклад меню "Конфігурація" в адмін.
- Переклад країн.
- Регіони Росії.
- Регіони 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