Jump to content
Sign in to follow this  
koreshok

Проблема с кодировкой в поиске

Recommended Posts

post-22469-0-55891400-1423644560_thumb.jpg

ну в общем суть на скриншоте.. подскажите где поправить. 

версия 15112 сторонних модулей поиска не стоит

Share this post


Link to post
Share on other sites

по дефолту, аякс - поиск так же не предусмотрен в сборке ocstore, так что признавайтесь, какие файлы добавляли\изменяли\заменяли... 

Share this post


Link to post
Share on other sites

был куплен шаблон Bigshop .. может в нем где то копать? пересохранил все файлы без бум, не помогло

<link rel="stylesheet" type="text/css" href="catalog/view/theme/bigshop/stylesheet/jquery.autocomplete.css" />
<script type="text/javascript">
$(document).ready(function() {	
	$("#filter_name").autocomplete("getdata.php?lan=<?php echo $_SESSION['language']; ?>", {
		width: 260,
		matchContains: true,
		selectFirst: true
	});
							   
});
</script>
удалил кусок кода... что в нем поправить, что бы кракозябры не лезли?

Share this post


Link to post
Share on other sites

вот здесь собака зарыта (предположительно): getdata.php

покажите этот файл...

Share this post


Link to post
Share on other sites

вот здесь собака зарыта (предположительно): getdata.php

покажите этот файл...

<?php
include('config.php');
$link = mysql_connect(DB_HOSTNAME,DB_USERNAME,DB_PASSWORD);
if (!$link) {
  die('Could not connect: ' . mysql_error());
}
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $link);

if (!mysql_select_db(DB_DATABASE)) {
  echo "Unable to select mydbname: " . mysql_error();
  exit;
}

if(isset($_REQUEST['q']) && $_REQUEST['q']!=''){
       
   $q = mysql_real_escape_string($_REQUEST['q']);
   
   $lan = mysql_real_escape_string($_REQUEST['lan']);
   
   $sql = "select language_id from " . DB_PREFIX . "language where code = '".$lan."'";
   $res = mysql_query($sql);
   $row = mysql_fetch_array($res);
   
   $id = $row['language_id'];
   
   if(!isset($id)){ $id = 1; }
   
   $sql = "SELECT pd.name FROM " . DB_PREFIX . "product p," . DB_PREFIX . "product_description pd WHERE p.status = 1 AND p.product_id = pd.product_id AND language_id = '".$id."' AND UPPER(pd.name) like UPPER('%$q%') GROUP BY pd.product_id ORDER BY pd.name ASC";
   $res = mysql_query($sql);
   if(mysql_num_rows($res)>0){
       while($ro = mysql_fetch_assoc($res)){
           
           $name = str_replace( array( '\'', '"', ',' , ';', '<', '>','&quot','&'), ' ', $ro['name']);
       //$str[]= $name."\n";
	   echo $name."\n";
       }
   }    
   //echo json_encode($str);
}

?>

Share this post


Link to post
Share on other sites
"getdata.php?lan=<?php echo $_SESSION['language']; ?>"
"getdata.php?lan=".<?php echo $_SESSION['language']; ?>

Нет?

Share this post


Link to post
Share on other sites

Сам файл getdata.php -  пример "быдлокодинга"

Share this post


Link to post
Share on other sites

сайт в какой кодировке работает? cp1251 ?

UTF-8

Share this post


Link to post
Share on other sites

UTF-8

попробуйте пот это

mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $link);

закоментить

а вот сюда 

if (!mysql_select_db(DB_DATABASE)) {

  echo "Unable to select mydbname: " . mysql_error();

  exit;

}

mysql_query("SET NAMES cp1251"); // добавить это, не поможет, поставить utf8, не поможет, проверить кодировку в саймой таблице

if(isset($_REQUEST['q']) && $_REQUEST['q']!=''){

 

 

Судя по кракозябрам, похоже, что база отдает cp1251.

Share this post


Link to post
Share on other sites

в базе априори utf8_general_ci, пишу, что лучше - использовать адекватный модуль, чем править говнокод а потом ещё косяки править...

Share this post


Link to post
Share on other sites

в базе априори utf8_general_ci, пишу, что лучше - использовать адекватный модуль, чем править говнокод а потом ещё косяки править...

utf8_general_ci  это ,сопоставление, сами символы могут находится в той кодировке, в которой их туда записали. Как правило такие проблемы появляются после экспорта/инпорта дампа.

Share this post


Link to post
Share on other sites

utf8_general_ci  это ,сопоставление, сами символы могут находится в той кодировке, в которой их туда записали. Как правило такие проблемы появляются после экспорта/инпорта дампа.

Вот такой ответ вас устроит ? (драйвер подключения к базе):

6b89904c45.jpg

Share this post


Link to post
Share on other sites

Да мне собственно все равно.. просто mysql.php и getdata.php разные подключения. Судя по этому форуму http://themeforest.net/item/bigshop-multipurpose-responsive-opencart-theme/3255847/comments?page=11

проблема действительно существует и автор вроде как пока ничего не правил. Думаю надо как то костылить или, как вы говорите, использовать другой модуль, но за этот вроде как заплачено..

Edited by afwollis

Share this post


Link to post
Share on other sites

заплачено - дрючьте автора.

<?php
include('config.php');
...
>>

<?php
include('config.php');
echo "<meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />";
...

Share this post


Link to post
Share on other sites

я бы за такое, пальцы лобзиком ампутировал... это не joomla, тут есть строгая архитектура MVC и пихать всё в одну сплошную массу, используя прямые запросы минуя системные классы, как минимум - неграмотно.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.