Следуя Вашему совету, я добавил в конце конфигурационного файла config.inc.php (для phpMyAdmin) строку $cfg['AllowAnywhereRecoding'] = true; .
После этого в phpMyAdmin на странице "Экспорт" действительно появилась поле "Кодировка файла", дающее возможность выбора и задания кодировки файла, в которой нужно сохранить дамп таблицы БД.
В этом поле я выбрал кодировку windows-1251 и получил файл дампа таблицы БД в нужной мне кодировке cp-1251.
Огромное спасибо Вам за помощь и ценный совет, который может быть полезен многим пользователям!
Может быть, имеет смысл добавить этот совет о добавлении возможности выбора кодировки файла дампа таблиц БД в статью ""Инструментарий веб-разработчика" в раздел, описывающий настройки phpMyAdmin.
Неактивен
belhoplov написал:
Может быть, имеет смысл добавить этот совет о добавлении возможности выбора кодировки файла дампа таблиц БД в статью ""Инструментарий веб-разработчика" в раздел, описывающий настройки phpMyAdmin.
Нет, этого делать не стоит, так как единственно правильным является сохранение дампа в utf8. Сохранение дампа в национальных кодировках дано только как опция и не рекомендуется.
Например, есть две таблицы, одна в cp1251, другая в latin1. Если сохранить дамп в cp1251, то таблица в latin1 окажется с битыми данными; если сохранить дамп в latin1, то таблица в cp1251 будет с битыми данными. Зато если сохранить дамп в utf8, то обе таблицы в национальных кодировках будут сохранены верно и их можно будет успешно восстановить.
Неактивен
Настраивал всё как написано у вас в статье.
Но у меня почему-то не работает ajax. Хотел написать как здесь ( это из книжки "ajax и php разработка динамических приложений"), но ничего не происходит при вводе символов в поле. Там ведь ничего нет кроме php и javaScript, а php у меня отлично работает...
Вызвано ли это настройкой php или apache?
Отредактированно makros (2010-02-03 01:10:02)
Неактивен
makros
Не думаю, что здесь виноваты настройки. Покажите код - разберемся.
Неактивен
--index.html--
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmls="http://www.w3.org/1999/xhtml">
<head>
<title>AJAX PHP: Quickstart</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="quickstart.js"></script>
</head>
<body onload="process()">
Сервер желает узнать ваше имя:
<input type="text" id="myName" onkeyup="process()" onmouseup="process()" />
<div id="divMessage" />
</body>
</html>
--quickstart.js--
// stores the reference to the XMLHttpRequest object
var xmlHttp = createXmlHttpRequestObject();
// retrieves the XMLHttpRequest object
function createXmlHttpRequestObject()
{
// will store the reference to the XMLHttpRequest object
var xmlHttp;
// if running Internet Explorer
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}
// if running Mozilla or other browsers
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}
// return the created object or display an error message
if (!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
}
// make asynchronous HTTP request using the XMLHttpRequest object
function process()
{
// proceed only if the xmlHttp object isn't busy
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
// retrieve the name typed by the user on the form
name = encodeURIComponent(document.getElementById("myName").value);
// execute the quickstart.php page from the server
// if(name.length > 0) { Эту проверку делать нельзя, иначе дальнейшие функции слетают, так как xmlHttp.open получается не выполена.
xmlHttp.open("GET", "quickstart.php?name=" + name, true);
// }
// define the method to handle server responses
xmlHttp.onreadystatechange = handleServerResponse;
// make the server request
xmlHttp.send(null);
}
}
// executed automatically when a message is received from the server
function handleServerResponse()
{
// move forward only if the transaction has completed
if (xmlHttp.readyState == 4)
{
// status of 200 indicates the transaction completed successfully
if (xmlHttp.status == 200)
{
// extract the XML retrieved from the server
xmlResponse = xmlHttp.responseXML;
// obtain the document element (the root element) of the XML structure
xmlDocumentElement = xmlResponse.documentElement;
// get the text message, which is in the first child of
// the the document element
helloMessage = xmlDocumentElement.firstChild.data;
// update the client display using the data received from the server
document.getElementById("divMessage").innerHTML =
'<i>' + helloMessage + '</i>';
// restart sequence
}
// a HTTP status different than 200 signals an error
else
{
alert("There was a problem accessing the server: " + xmlHttp.statusText);
}
}
}
--quickstart.php--
<?
// результаты будут отправлять в формате xml
header('Content-Type: text/xml');
// сгенирировать заголовок xml
print "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
// создаём элемент <response>
print "<response>";
// получаем имя пользователя
$name = $_GET['name'];
// сгенирировать текст сообщения в зависимости
// от имени пользователя принятого от клиента
$userName = array('Владислав', 'Слава');
if (in_array(strtoupper($name), $userName)) { // Таким образом нельзя сделать регистронезависимое сравнение. При его необходимости можете попробовать сами разобраться.
print "Здравствуйте мастер " . htmlspecialchars($name). "!"; // Нельзя здесь все переводить в сущности функцией htmlentities, слетает XML. Кодировать надо функцией htmlspecialchars.
}
else {
if (trim($name) == '') {
print "Скажи мне, как зовут тебя незнакомец!";
}
else {
print htmlspecialchars($name). ", вы мне не знакомы!";
}
}
// закрыть элемент <response>
print "</response>";
?>
Отредактированно makros (2010-02-03 11:09:16)
Неактивен
makros
Важно! Все скрипты должны быть в кодировке UTF-8. Не в ANSI!
Пример содержит ошибки и я бы не рекомендовал на нем учиться. Вот пример значительно более качественный:
Еде один совет: передавать скрипту данные лучше через POST метод, так как он значительно меньше ограничен по объему данных, чем GET.
Неактивен
Добрый день.пПодскажите пожалуйста в чем проблема после изминения httpd.conf и httpd-vhosts.conf и рестарта Apache вообще не запускается пишет(The requested operation has failed)
Неактивен
Спасибо, видимо проблема была именно в кодировке скриптов.
Неактивен
Domovoi
Смотрите ошибки в error.log и проверьте синтаксис конфигурационных файлов.
Неактивен
Starting the Apache2.2 service
The Apache2.2 service is running.
rmine the server's fully qualified domain name, using 192.168.1.2 for ServerName
[Wed Feb 03 12:13:26 2010] [notice] Apache/2.2.14 (Win32) configured -- resuming normal operations
[Wed Feb 03 12:13:26 2010] [notice] Server built: Sep 28 2009 22:41:08
[Wed Feb 03 12:13:26 2010] [notice] Parent: Created child process 2936
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
[Wed Feb 03 12:13:26 2010] [notice] Child 2936: Child process is running
[Wed Feb 03 12:13:26 2010] [notice] Child 2936: Acquired the start mutex.
[Wed Feb 03 12:13:26 2010] [notice] Child 2936: Starting 64 worker threads.
[Wed Feb 03 12:13:26 2010] [notice] Child 2936: Starting thread to listen on port 80.
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
[Wed Feb 03 12:31:49 2010] [warn] pid file C:/Program Files/Apache Software Foundation/Apache2.2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed Feb 03 12:31:49 2010] [notice] Apache/2.2.14 (Win32) configured -- resuming normal operations
[Wed Feb 03 12:31:49 2010] [notice] Server built: Sep 28 2009 22:41:08
[Wed Feb 03 12:31:49 2010] [notice] Parent: Created child process 1904
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
[Wed Feb 03 12:31:49 2010] [notice] Child 1904: Child process is running
[Wed Feb 03 12:31:49 2010] [notice] Child 1904: Acquired the start mutex.
[Wed Feb 03 12:31:49 2010] [notice] Child 1904: Starting 64 worker threads.
[Wed Feb 03 12:31:49 2010] [notice] Child 1904: Starting thread to listen on port 80.
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
[Wed Feb 03 13:18:43 2010] [warn] pid file C:/Program Files/Apache Software Foundation/Apache2.2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed Feb 03 13:18:43 2010] [notice] Apache/2.2.14 (Win32) configured -- resuming normal operations
[Wed Feb 03 13:18:43 2010] [notice] Server built: Sep 28 2009 22:41:08
[Wed Feb 03 13:18:43 2010] [notice] Parent: Created child process 2340
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
[Wed Feb 03 13:18:44 2010] [notice] Child 2340: Child process is running
[Wed Feb 03 13:18:44 2010] [notice] Child 2340: Acquired the start mutex.
[Wed Feb 03 13:18:44 2010] [notice] Child 2340: Starting 64 worker threads.
[Wed Feb 03 13:18:44 2010] [notice] Child 2340: Starting thread to listen on port 80.
[Wed Feb 03 13:43:22 2010] [notice] Parent: Received restart signal -- Restarting the server.
[Wed Feb 03 13:43:22 2010] [notice] Child 2340: Exit event signaled. Child process is ending.
httpd.exe: Syntax error on line 231 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: </Directory> without matching <Directory> section
[Wed Feb 03 13:43:23 2010] [warn] (OS 995)Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения. : winnt_accept: Asynchronous AcceptEx failed.
[Wed Feb 03 13:43:23 2010] [notice] Child 2340: Released the start mutex
[Wed Feb 03 13:43:24 2010] [notice] Child 2340: All worker threads have exited.
[Wed Feb 03 13:43:24 2010] [notice] Child 2340: Child process is exiting
Неактивен
Здесь ошибка. Смотрите почему оказался некорректным блок директивы Directory.
Syntax error on line 231 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: </Directory> without matching <Directory> section
Неактивен
Вроде нашел при добавлении
Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
LoadModule php5_module "C:/php/php5apache2_2.dll"
Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
PHPIniDir "C:/php"
при втавки лбой строчки (The requested operation has failed) помоги я юзер
Неактивен
Domovoi
Вышлите ваш httpd.conf на hanut@php-myadmin.ru
Неактивен
Здравствуйте, Hanut!
большое спасибо за вашу статью, очень все грамотно и доступно написано!
на http://localhost/localstart.asp заходит но сразу же возникает всплывающее окно с ошибкой Directory Listing Denied по адресу http://localhost/iishelp/ и еще возникает ошибка - я не могу получить доступ к документации (мануалам) на http://localhost/manual/.
подскажите пожалуйста решение этих проблем.
Неактивен
JohnyMotorhead
Что это? http://localhost/localstart.asp
Если вы ставили Apache, то asp скрипты выглядят очень странно. Если вы ставили IIS, то даже не знаю чем помочь, так как не знаком с этим веб сервером.
Неактивен
http://localhost/localstart.asp - это адрес в строке браузера, когда я захожу по адресу http://localhost
я думал так и должно быть, но что то работает не так. на этой же странице значок Windows, а также написано
Служба Web теперь работает.
Для пользователей не определена страница по умолчанию. Пользователи, пытающиеся подключиться к вашему веб-узлу с других компьютеров, попадают на страницу В процессе разработки . Веб-сервер допускает использование в качестве веб-страниц по умолчанию следующих файлов: default.htm,default.asp,index.htm,iisstart.asp,default.aspx. В настоящее время существует только файл iisstart.asp.
Чтобы добавить документы на веб-узел по умолчанию, сохраните файлы в каталоге c:\inetpub\wwwroot\.
я поставил и проделал все шаги как было описано в статье. у меня установлен Apache 2.2.14, MySQL 5.1.43 и PHP 5.2.11
когда я просматриваю через IE то это ошибка 403 HTTP Forbidden.
Неактивен
JohnyMotorhead
Похоже у вас стоит IIS и так как вместе с Apache они занимают 80 порт, то происходит такая странность. Удалите IIS в Windows.
Неактивен
тут есть один момент
я апач на порт 8080 поставид, так как 80 порт у меня занят процессом tcp.
но IIS я не ставил определенно. и в установленных программах его нет. я так понимаю IIS - это тоже веб сервер? или это какая то другая программа?
Неактивен
через поиск нашел папку Inetpub, в которой должно быть и установлен IIS.
в ней содержаться какие то скрипты, и как раз этот local.asp.
но все дело в том что я ее не устанавливал, это совершенно точно. в установке и удалении программ IIS тоже нет.
мне что же просто папку удалить и все?
Неактивен
все дело было действительно в IIS. он идет по умолчанию с Windows. пришлось просто ее отключить, а в настройках апача настроить порт 80. в принципе все работает.
только единственный вопрос когда заходишь на localhost, то на странице должно отображаться примерно следующее?
Index of /
Name Last modified Size Description
Apache/2.2.14 (Win32) PHP/5.2.11 Server at localhost Port 80
в мануалы теперь тоже заходит. единственное меня смущает тот факт что знакомый программист говорит на главной странице должно быть написано it works!
Неактивен
JohnyMotorhead
Все нормально. Никаких it works быть не должно. Вы видите обычную страницу веб-сервера.
Неактивен
благодарю вас от всей души. следовала инструкциям и все получилось. большое вам спасибо ![]()
![]()
Неактивен
Всё работает!У меня получилось!Спасибо Всем кто участвовал в создании такой замечательной статьи!!!Радости полные штаны)
Неактивен
не понимаю... сделал всё в точности как на инструкции.. захожу на ПхпМайАдмин и получаю вот такое:
phpMyAdmin - Ошибка
Невозможно загрузить расширение mysqli! Проверьте настройки PHP. - Документация
подскажите что делать... а то паника ))
Неактивен
с этим я разобрался... теперь другая проблема )) у меня рутер... на localhost и 192.168.0.100 захожу нормально и вижу сайт... а как мне сделать, чтоб я через и-нет видел его?? домен есть
Неактивен
|
|