обрезать пробелы в строке Unicode - PullRequest
1 голос
/ 04 ноября 2010

Привет всем! У меня в таблице базы данных есть записи с полями VARCHAR (100) charset utf-8 general-ci. Когда я передаю его на веб-страницу, он отображает строку и многие-многие квадратные символы. Как я могу удалить их и оставить слово inly. В этом проблема. Будет ли проблема с поиском? Thanx!

Ответы [ 4 ]

2 голосов
/ 04 ноября 2010

Сценарий закодирован в UTF-8 и вы также UTF8 для подключения к базе данных? Вы можете установить кодировку соединения, используя следующий запрос сразу после подключения

SET NAMES 'UTF8'
1 голос
/ 04 ноября 2010

Вы ботаник PHP и только начали работать с PHP и mysql. Для работы с данными Unicode вам нужно что-то знать, прежде чем продолжить.

Сначала убедитесь, что в полях вашей таблицы установлено сопоставление «utf8_general_ci» для приема всех языковых кодировок. Конечно, вы можете использовать любое другое сопоставление, начинающееся с «utf8_», например, если вашей базе данных нужны только английские и персидские символы, вы можете выбрать «utf8_persian_ci».

Второе: при написании некоторого кода PHP, работающего с MYSQL, вам нужно явно попросить PHP передать ваши данные уни-кода в формате utf8, чтобы он соответствовал типу данных назначения, который является utf8. Это приведет к тому, что данные клиента будут храниться «как есть» в MYSQL.

Если вы не будете следовать этому правилу, MYSQL сохранит ваши данные utf8 в виде вопросительных знаков.

Чтобы избежать этого, вам нужно написать следующую строку перед любым запросом в вашем PHP-коде.

mysql_query("SET NAMES 'UTF8'");

Итак, сначала нам нужно подключиться к базе данных. Во-вторых, позвоните

mysql_query("SET NAMES 'UTF8'");

В-третьих, выполнять другие операции.

0 голосов
/ 04 ноября 2010

Не забудьте установить кодировку символов на своей веб-странице

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
0 голосов
/ 04 ноября 2010

Я бы попробовал utf8_decode ($ string);

...