MySQL PHP кодирование - PullRequest
       2

MySQL PHP кодирование

2 голосов
/ 06 января 2011

У меня есть база данных mysql в кодировке UTF8.Однако из-за некоторых предыдущих проблем с преобразованием, которые я унаследовал, некоторые строки были неправильно сохранены в базе данных.

Например, £ следует сохранить как £, но во многих местах он был сохранен как-то вроде€ 100.

Мне удалось отследить все записи в таблице, которые были неправильно закодированы.Какой самый простой способ удалить все ненужные символы из этого поля базы данных varchar?

Я пробовал preg_replace в php, но, похоже, это ничего не делает.

return preg_replace("[^A-Za-z0-9£]", "", $string);

Ответы [ 2 ]

2 голосов
/ 06 января 2011

Вы должны заключить регулярное выражение в разделители:

return preg_replace("/[^A-Za-z0-9£]/", "", $string);
0 голосов
/ 06 января 2011

Что возвращается из этого вызова preg_replace, неизменной строки или NULL? Если значение равно нулю, то произошла ошибка в соответствии с preg_replace manual . Кроме пропущенных @AndreKR разделителей, для меня это выглядит хорошо (проверено со строкой £)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...