Shop-Script и знаки вопроса при импорте базы MySQL

17.06.2009, рубрики: Мелочи | Теги: , , , | 14 163 комментария »

На днях позвонил человек, попросил помочь с кодировкой сайта. Сайт сделан на Shop-Script (интернет магазин). Ситуация такова, сайт хостился у одного хостинг-провайдера, теперь на другом. Был создан дамп базы данных MySQL и импортиран с той же кодировкой сравнения. Итог: вместо латинских букв, знаки вопроса. Игры с кодировками при экспорте базы и импорте успехов не принесли. Оставалось последнее действие, я был полон надежды, что оно поможет. И так, начнем.

В файле: /includes/database/mysql.php находим блок:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
function db_query($s) //database query
{
$res = array();
$res["resource"] = mysql_query($s) or die( db_error()." SQL query : ".$s);
$select_keyword_index    = strpos(strtoupper($s), "SELECT");
$from_keyword_index        = strpos(strtoupper($s), "FROM");
$columns=substr( $s, $select_keyword_index + strlen("SELECT"),
$from_keyword_index - 1 - ( $select_keyword_index + strlen("SELECT") ) + 1 );
$res["columns"]=array();
$column_index = 0;
$columnArray = explode(",", $columns);
foreach($columnArray as $value)
{
if ($asIndex = strpos(strtoupper($value), "AS "))
$columnName=trim(substr($value, $asIndex+2));
else
$columnName=trim($value);
$res["columns"][$columnName] = $column_index;
$column_index++;
}
return $res;
}
[/sourcecode]

И приводим его к такому виду:

[sourcecode language='php']
function db_query($s) //database query
{
$res = array();
$res["resource"] = mysql_query($s) or die( db_error()." SQL query : ".$s);
mysql_query("SET character_set_client=cp1251");
mysql_query("SET character_set_connection=cp1251");
mysql_query("SET character_set_results=cp1251");
$select_keyword_index    = strpos(strtoupper($s), "SELECT");
$from_keyword_index        = strpos(strtoupper($s), "FROM");
$columns=substr( $s, $select_keyword_index + strlen("SELECT"),
$from_keyword_index - 1 - ( $select_keyword_index + strlen("SELECT") ) + 1 );
$res["columns"]=array();
$column_index = 0;
$columnArray = explode(",", $columns);
foreach($columnArray as $value)
{
if ($asIndex = strpos(strtoupper($value), "AS "))
$columnName=trim(substr($value, $asIndex+2));
else
$columnName=trim($value);
$res["columns"][$columnName] = $column_index;
$column_index++;
}
return $res;
}

Ура, получилось. Знаки вопросов пропали, буквы отображаются как нужно.


14 163 комментария на запись “Shop-Script и знаки вопроса при импорте базы MySQL”

  1. 1 BrandonInole сказала в 10:15, 24.01.2022:

    Перевод документов Новокузнецк|

  2. 2 Rubenhougs сказала в 10:15, 24.01.2022:

    Игры Стратегии Новинки

  3. 3 Authota сказала в 11:29, 24.01.2022:

    how does plaquenil work for lupus Obwoac Cialis Pas Cher

  4. 4 JimHycle сказала в 13:27, 24.01.2022:

    sildalis 120

  5. 5 Authota сказала в 15:55, 24.01.2022:

    plaquenil generic name Nkjbha Effets Secondaires Cialis Prostate

  6. 6 JoeHycle сказала в 15:58, 24.01.2022:

    stromectol uk buy

  7. 7 IvyHycle сказала в 18:31, 24.01.2022:

    cost of viagra generic

  8. 8 Authota сказала в 20:12, 24.01.2022:

    hydroxychloroquine price walgreens Haxlxo cialis paid under health reform

  9. 9 Shouppows сказала в 21:40, 24.01.2022:

    PubMed Perimenis P Karkoulias K Konstantinopoulos A Perimeni PP Katsenis G Athanasopoulos A. how to buy prednisone in mexico Qrnmjc levitra with no prescription

  10. 10 Shouppows сказала в 23:46, 24.01.2022:

    Viagra Femme prednisone 20mg QuiCk Hit Complications of asthma

  11. 11 SamHycle сказала в 0:27, 25.01.2022:

    5343 viagra

  12. 12 Hireawl сказала в 1:18, 25.01.2022:

    Botstrof www.alevitrasp.com Avoid becoming dehydrated.

  13. 13 EvaHycle сказала в 2:18, 25.01.2022:

    cialis from canada to usa


Оставить комментарий


  • × два = четырнадать