Как изменить кодировку базы данных на UTF-8
Встала задача сконвертировать базу данных из latin1 в utf8. В интернете есть множестово рецептов как это сделать. Наиболее часто встречается PHP скрипт, который генерирует последовательность из ALTER TABLE комманд.
Мне такой способ показался несколько громоздким, гораздо проще сделать дамп базы данных, убрать из дампа всю информацию о кодировке столбцов, если такая имеется, изменить кодировку базы данных по умолчанию и залить дамп обратно. При этом все таблицы и столбцы примут ту кодировку, которая выставлена для базы данных в целом.
Делать эти преобразования вручную на живой базе довольно стрёмно - данные могут измениться между шагами, поэтому я создал вот такой скрипт для выполнения данной задачи:
#!/bin/sh DBNAME="yourdbname" DBUSER="yourdbuser" DBPASS="yourdbpassword" mysqldump -u$DBUSER -p$DBPASS $DBNAME > $DBNAME.sql sed 's/DEFAULT CHARSET=latin1//' $DBNAME.sql > ${DBNAME}_converted.sql sed 's/CHARACTER SET latin1//' ${DBNAME}_converted.sql > ${DBNAME}_converted1.sql mysql -u$DBUSER -p$DBPASS $DBNAME <<EOFMYSQL ALTER DATABASE $DBNAME DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; EOFMYSQL mysql -u$DBUSER -p$DBPASS $DBNAME < ${DBNAME}_converted1.sql
Исходная база была в latin1, если у вас другая кодировка, скрипт легко подправить.
Leverage browser caching
Для того чтобы проверить есть ли у сайта узкие места можно воспользоваться мега полезной штукой Page Speed Plugin. Работает в chrome и firefox. Оказывается на большинстве сайтов по умолчанию не выводятся заголовки которые говорят браузеру как правильно кешировать ресурсы
На linode.com для решение проблемы добавил в httpd.conf следующее:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/x-icon "access plus 2 weeks"
ExpiresByType image/png "access plus 2 weeks"
ExpiresByType image/jpeg "access plus 2 weeks"
ExpiresByType image/gif "access plus 2 weeks"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType text/css "access plus 1 week"
</IfModule>
На другом сервере указанное действо оказалось недостаточным пришлось добавить:
Header unset Pragma
FileETag None
Header unset ETag
И еще включил сжатие для некоторых файлов:
AddOutputFilterByType DEFLATE text/css application/x-javascript application/javascript
Как синхронизировать контакты Nokia c Google
Долгое время пользовался Zyb чтобы бекапить контакты с телефона, однако Zyb приказал долго жить а Vodafone, на который теперь ссылается старый сайт zyb совершенно не предназначен для этих целей.
К счастью, гугл заботливо может приютить ваши сокровенные контакты себе на сервер через протокол SyncML — вот здесь нашел настройки ZyncML для аккаунта Google:
- remote db > 'conacts'
- synchronoisation > both ways
- server version > 1.1
- data bearer > internet
- access point > whatever you like
- host address > https://m.google.com/syncml
- port > 443
- username > example@gmail.com
- password > example
- allow sync requests > yes
- accept all sync requests > no
- network authentication > no
Как изменить внешний вид кнопки FB Connect
Есть несколько способов:
Способ 1 (правильный). Зайти на сайт разработчиков и прочитать инструкцию.
Способ 2 (ленивый). Поискать в Интернет как это делают другие.
Способ 3 (сверхленивый). Взять стандартную кнопку и допилить её CSS модификаторами:
.fb_button_medium { float:left; width:234px !important; height:42px !important; background:url(../image/layout/homepage-facebook-main.png) no-repeat 0 0 !important; } .fb_button_text { display:none !important; }