Pixelpost

Authentic Photoblog Flavour


Go Back   Pixelpost Forum > SUPPORT / INFORMATION > Pixelpost International > Russian

Post Reply
 
Thread Tools
  #1  
Old 08-16-2008, 09:02 AM
nodel Offline
forum loafer
 
Join Date: Aug 2008
Posts: 1
Question Проблема с некоторыми русскими буквами п

Установлена версия 1.7.1, руссификация сделана так, как описана уважаемыми участниками форума (путем добавления файла .htaccess). После этого в целом кодировка отображается правильно и на сайте, и в админке, но при этом осталась проблема с отображением буквы Ш и Ч. - вместо них вываливаются кракозябры.
Кто-нибудь сталкивался с подобным?
Reply With Quote
  #2  
Old 08-20-2008, 06:59 AM
MaeBe Offline
forum loafer
 
Join Date: Aug 2008
Posts: 1
Да, у меня оказалось тоже! Спасибо кстати, я и не замечала раньше этой проблемы (текста было немного...)
При отладке сайта на Денвере все решилось просто, по следам этой статьи (про Друпал, но принцип тот же).

А на хостинге все будет зависеть от хостера, нужен будет такой, чтобы дефолтные кодировки были в utf-8, а не в cp1251.
Reply With Quote
  #3  
Old 12-31-2008, 03:55 PM
b1ur Offline
forum loafer
 
Join Date: Dec 2008
Posts: 1
Re: Проблема с некоторыми русскими буквами 

I have the same problem right now, some Cyrillic letters like 'Ш' or 'Ч' are not displayed, I see some '?' symbols instead.

I have configured UTF-8 encoding with .htaccess file (AddDefaultCharset), but the problem still exists. I continue to search the solution, any help appreciated
Reply With Quote
  #4  
Old 03-13-2009, 08:17 PM
lapsar Offline
forum loafer
 
Join Date: Mar 2009
Posts: 1
Quote:
Originally Posted by nodel View Post
Установлена версия 1.7.1, руссификация сделана так, как описана уважаемыми участниками форума (путем добавления файла .htaccess). После этого в целом кодировка отображается правильно и на сайте, и в админке, но при этом осталась проблема с отображением буквы Ш и Ч. - вместо них вываливаются кракозябры.
Кто-нибудь сталкивался с подобным?

Я столкнулся с такой же проблемой.
Было найдено типа решение проблемы, но не совсем корректным способом.

в файле functions.php замените фрагмент со строки 436

function clean($str)
{
//$str = UTF8_encode($str);
$str = addslashes($str);
return $str;
}

function pullout($str)
{
$str = stripslashes($str);
//$str = UTF8_decode($str);
return $str;
}

На фрагмент, приведенный ниже:

function clean($str)
{
//$str = UTF8_encode($str);
$str=urlencode($str);
$str = addslashes($str);
return $str;
}

function pullout($str)
{
$str = stripslashes($str);
$str=urldecode($str);
//$str = UTF8_decode($str);
return $str;
}

Программист, подсказавший мне этот способ предупреждал, что это не совсем корректно, но у меня работает. Если удастся отыскать более корректный способ - отпишусь
Reply With Quote
  #5  
Old 04-06-2009, 08:35 PM
IGRI Offline
forum loafer
 
Join Date: Apr 2009
Posts: 2
Thumbs up

Вот так заработало:

1. Везде MySQL настроил на utf-8

2. В \includes\functions.php - там где соединение с базой

PHP Code:
function start_mysql($config_file,$request_uri)
{
    global 
$pixelpost_db_host$pixelpost_db_user$pixelpost_db_pass$pixelpost_db_pixelpost;
    
$dir 'templates';
    if (!
file_exists($dir ."/splash_page.html")) {
        
$dir '../templates';
    }
    
    if(!
file_exists($config_file)) {
        
show_splash("Connect DB Error: "mysql_error()." Cause #1",$dir);
    }
        
    if(!
mysql_connect($pixelpost_db_host$pixelpost_db_user$pixelpost_db_pass)) {
        if(
$request_uri == 'admin') {
            
header("Location: install.php?view=db_fix");
            exit;
        }else{
            
show_splash("Connect DB Error: "mysql_error()." Cause #2",$dir);
        }
    }

    if(!
mysql_select_db($pixelpost_db_pixelpost)) {
        if(
$request_uri == 'admin') {
            
header("Location: install.php?view=db_fix");
            exit;
        }else{
            
show_splash("Select DB Error: "mysql_error()." Cause #2",$dir);
        }
    }

в конце добавил

PHP Code:
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'"); 
то есть получится

PHP Code:
function start_mysql($config_file,$request_uri)
{
    global 
$pixelpost_db_host$pixelpost_db_user$pixelpost_db_pass$pixelpost_db_pixelpost;
    
$dir 'templates';
    if (!
file_exists($dir ."/splash_page.html")) {
        
$dir '../templates';
    }
    
    if(!
file_exists($config_file)) {
        
show_splash("Connect DB Error: "mysql_error()." Cause #1",$dir);
    }
        
    if(!
mysql_connect($pixelpost_db_host$pixelpost_db_user$pixelpost_db_pass)) {
        if(
$request_uri == 'admin') {
            
header("Location: install.php?view=db_fix");
            exit;
        }else{
            
show_splash("Connect DB Error: "mysql_error()." Cause #2",$dir);
        }
    }

    if(!
mysql_select_db($pixelpost_db_pixelpost)) {
        if(
$request_uri == 'admin') {
            
header("Location: install.php?view=db_fix");
            exit;
        }else{
            
show_splash("Select DB Error: "mysql_error()." Cause #2",$dir);
        }
    }
    
    
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");

3. В том же файле сделал так (возможно это лишнее - просто искал решение)

PHP Code:
function clean($str)
{
    
setlocale(LC_CTYPE'ru_RU.UTF-8');
    
//$str = UTF8_encode($str);
    
$str addslashes($str);
    return 
$str;
}

function 
pullout($str)
{
    
setlocale(LC_CTYPE'ru_RU.UTF-8');
    
$str stripslashes($str);
    
//$str = UTF8_decode($str);
    
return $str;

Reply With Quote
Post Reply


Thread Tools




All times are GMT. The time now is 09:00 AM.

Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd. | Style Design: d3 designs