Структура базы данных для системы голосования с голосами «за» и «против»

В дополнение к установке default_charset в php.ini можно отправить корректный набор символов с помощью header() из кода перед любым выводом:

header('Content-Type: text/html; charset=utf-8');

Работа с Unicode в PHP легка, пока Вы понимаете, что большинство эти строковые функции не работают с Unicode, и некоторые могли бы исказить строки полностью . PHP полагает, что "символы" 1 байт длиной. Иногда это хорошо (например, explode() только ищет последовательность байта и использует его в качестве разделителя - таким образом, не имеет значения, какие фактические символы Вы ищете). Но другие времена, когда функция на самом деле разработана для работы над символы , PHP, понятия не имеют, что текст имеет многобайтовые символы, которые найдены с Unicode.

А хорошая библиотека, чтобы зарегистрироваться phputf8. Это переписывает все "плохие" функции, таким образом, можно безопасно работать над строками UTF8. Существуют расширения как mbstring расширение, которые пытаются сделать это для Вас также, но я предпочитаю пользоваться библиотекой, потому что это более портативно (но я пишу продукты массового рынка, таким образом, это важно для меня). Но phputf8 может использовать mbstring негласно, так или иначе, для увеличения производительности.

17
задан Zardoz 9 December 2010 в 23:40
поделиться

1 ответ

Вам понадобится таблица ссылок между пользователями и организациями, за которых голосуют, я бы подумал. Это позволит вам увидеть, какие пользователи уже проголосовали, и не позволит им подавать дальнейшие голоса. Таблица может записывать в логическом значении, является ли это повышением или понижением.

Я бы посоветовал сохранить в голосующем объекте текущее поле подсчета голосов, чтобы упростить запросы. Экономия в размере была бы незначительной, если бы вы ее пропустили.

1
ответ дан 30 November 2019 в 12:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: