MySQL Collation: latin1_swedish_ci Vs utf8_general_ci - PullRequest
14 голосов
/ 22 января 2011

Что я должен установить для Collation при создании таблиц в MySQL:

  • latin1_swedish_ci или utf8_general_ci

Что такое Collation в любом случае?

Я использовал latin1_swedish_ci, это может вызвать проблемы?

Ответы [ 4 ]

6 голосов
/ 22 июля 2011

Что бы вы ни делали, не пытайтесь использовать стандартное сопоставление swedish_ci с utf8 (вместо латинского) в mysql, иначе вы получите ошибку.Сборники должны быть в паре с правильной кодировкой для работы.Этот SQL завершится ошибкой из-за несоответствия в кодировке и сопоставлении:

CREATE  TABLE IF NOT EXISTS `db`.`events_user_preference` (
  `user_id` INT(10) UNSIGNED NOT NULL ,
  `email` VARCHAR(40) NULL DEFAULT NULL ,
  PRIMARY KEY (`user_id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = latin1_swedish_ci

И @Blaisorblade указал, что способ исправить это - использовать набор символов, который соответствует шведскому сопоставлению:

DEFAULT CHARACTER SET = utf8_swedish_ci

В SQL для модуля cal (calendar) для фреймворка Yii php было что-то похожее на приведенный выше ошибочный код.Надеюсь, они уже исправили это.

3 голосов
/ 09 июня 2011

Вы можете прочитать о наборах символов и сопоставлениях с MySQL 5.5 здесь:
Наборы символов и общие параметры сортировки
Наборы символов и сопоставления в MySQL

Поддержка сортировки необходима для поддержки всех многих письменных языков мира. Например, на моем языке (датском) у нас есть специальный символ «æ». Это звучит как шведский, немецкий, венгерский (и более) «ä». Этот символ также появляется на датском языке со словами, импортированными из одного из этих языков. Благодаря поддержке сортировок мы можем печатать как правильно, так и сортировать одинаково (ORDER BY ...) как идентичные. Без поддержки сопоставлений это было бы невозможно.

Шведские параметры сортировки по умолчанию в MySQL для латинских кодировок. Он отлично работает с английским языком. Английский очень прост - он работает со всем, потому что у него нет специальных символов, акцентов и т. Д. Но если у вас есть другой язык, который вы часто используете (например, испанский), вы можете изменить сортировку на испанский, поэтому сортировка испанских строк будет быть правильным в соответствии с правилами испанского языка.

Особый пример сопоставления - один из немецких. Он был создан для сортировки, как в немецких телефонных книгах. Немецкие телефонные книги не следуют общим правилам немецкого языка!

Вы можете создать свой собственный порядок сортировки, если хотите. Сборники могут быть скомпилированы или в текстовом формате.

0 голосов
/ 03 января 2015

В Wamp Server 2.5 вы можете изменить параметры сортировки, зайдя в PHPAdmin и выбрав базу данных, которую нужно изменить. Это даст вам еще один набор вкладок. Выберите вкладку «Операции». На этой вкладке будет раздел с именем сортировки, выберите нужный в раскрывающемся списке и выберите идти.

0 голосов
/ 30 октября 2014

Попробуйте:

<?php
echo htmlspecialchars($string);
echo htmlentities($string);
?>

Вы можете увидеть больше информации от http://php.net/manual/en/function.htmlspecialchars.php.: D

Работал для меня!Нет больше бриллиантов:)

...