|
52 / 52 / 39
Регистрация: 15.11.2014
Сообщений: 696
|
|
MySQL Непонятки с кодировкой в базе18.10.2015, 12:25. Показов 1396. Ответов 21
Метки нет (Все метки)
В общем организовал отправку отзывов на php & sql. Вроде бы все норм, потому что для пользователей (на самой странице с отзывами) все отображается нормально, а в самой базе данных, данные пишутся непонятными иероглифами
например: елудченко. Скажите пожалуйста, почему так может происходить и как это исправить?
0
|
|
| 18.10.2015, 12:25 | |
|
Ответы с готовыми решениями:
21
Непонятки с кодировкой Непонятки с кодировкой
|
|
52 / 52 / 39
Регистрация: 15.11.2014
Сообщений: 696
|
||
| 22.10.2015, 20:33 [ТС] | ||
|
Я покажусь дотошным, но я хочу уточнить потому что редко работаю с mysql бд.
А 11 это кол-во памяти?
0
|
||
| 22.10.2015, 22:24 | ||
Сообщение было отмечено Mikhail Shell как решение
Решение
Mikhail Shell, к сожалению, это мало чем связано с mysql, или конкретным языком программирования даже, а с архитектурами цифровых систем в целом, и конкретно x86, почему числа занимают 8, 16, 32, 64 бита (1, 2, 4, 8 байт соответственно).
Не по теме: на x86_64 также могут быть доступны числа 128-разрядности, по крайней мере во многих CISC-процессорах некоторые команды частично(!) реализованы аппаратно, для работы с ними, типа умножения и деления, поэтому как правило за максимальную разрядность берется двойная разрядность. Тем не менее, бОльшая часть операций с ними реализуется программно. Однако, насколько мне известно, 128-разрядных чисел в mysql не предусмотрено в случае int оно занимает всегда 4 байта, вне зависимости от того, что указано в скобках. В bigint -- 8. и еще раз, в скобках вы указываете просто размер при выводе в консоли -- это просто небольшой хинт для того, чтобы удобнее было отображать, в некоторых случаях. вы там можете и 255 указать, int останется int-ом, он так и будет по прежнему занимать 4 байта, зато при выполнении запроса в mysql-ной консольке у вас будет выводиться куча пробелов перед этим числом (в случе с zerofill, я так понимаю, нулей, хотя не проверял). так же эта информация сохраняется в специальных таблицах в information_schema, и вы можете в своей программе как-то сами учитывать этот размер, если вам это нужно, но в остальных известных мне случаях это ни на что не повлияет. А так, я не очень понимаю, если честно, что вас смущает или беспокоит. 2^32 записей это очень много и если у вас в задаче будет уже такое количество записей, вам придется придумывать, как это хранить, шардировать, реплицировать, потому что просто сами эти числа будут занимать больше 16г памяти. но ведь просто хранить числа в таблице -- это не самая классная идея, нужна еще какая-то дополнительная информация. Да еще и индексы будут занимать огого. В случае, когда вам нужно просто ассоциировать два числа друг с другом, на таких размерах таблиц неразумно использовать реляционку вообще -- для этого есть key-value хранилища. Самый максимум, который поместится у вас в одну запись, с 2х терабайтным винтом, будет составлять 512 байт, но если учесть метаинформацию и прочую лабуду типа индексов, и того, пожалуй, раза в полтора меньше. Это я к тому, что если боитесь, что вам не хватит инта для id звписи, то вам в первую очередь нужно подумать, как это хранить, а как это в mysql-е реализовать -- это уже другой вопрос,и куда более простой, чем кажется. Если вы разрабатываете под хайлоад, то не задавали бы таких вопросов, а раз нет, юзайте инт и не мучайте свой мозг ![]() Добавлено через 20 минут да, и еще, если уж на то пошло, предположим, вам каждую секунду отставляют по отзыву. в сутках 60*60*24 = 86400 секунд. делим 2^31 на 86400, получаем примерно 24855 суток, или 68 лет. да, для долгосрочного хайлоада типа какого-нибудь mail.ru этого не хватит, для хранения всех писем (там речь все же о гораздо большем количестве в секунду), но вы сами прикиньте, сколько вам придется раскручиваться и вложить средств, чтобы достигнуть даже 1 отзыва в секунду. я подозреваю, что и на этом форуме таблица записей хранится в виде обычного int-а, и в этом несложно убедиться, наведя курсор на "permalink" на каком-нибудь посте, вы видите его id-шник (маловероятно, что это что-то еще, да и движок можно надыбать в интернетах, подсмотреть). сейчас я там наблюдаю что-то около 8 млрд с копейками. даже простого int-а еще хватило бы на 250 таких же форумов. а если сделать его unsigned, то и на все 500. а вот bigint-а хватило бы на все время существования вселенной, и даже больше, ну если верить вики. Аж на 41 вселенную хватило б, это я для случая, если раз в секунду пишут
1
|
||
| 22.10.2015, 22:24 | |
|
Помогаю со студенческими работами здесь
22
Непонятки с кодировкой Qt и база IB непонятки с кодировкой Библиотека PHP Simple HTML DOM. Непонятки с кодировкой - результат выдается в win-1251, а надо в utf-8. непонятки в базе данных С кодировкой базы данных и кодировкой сайтом и кодировкой файла разобраться не могу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|