2010-11-13 3 views
1

У меня необычная проблема (это связано с Browser displays � instead of ´)Поиск и замена в базе данных MySQL?

Я имел настройки кодирования несовпадающими символов на моем сервере (UTF-8) и приложения (ISO-8859-1), так и третье лицо возложена задача ввода испанского языка переводы, правильно ввели слова в конце, но они не были правильно сохранены в базе данных.

Впоследствии я исправил проблему, и теперь сервер стал ISO-8859-1. [Я поставил

default_charset = "iso-8859-1" 

в php.ini]

я вижу закономерность в том, что в системе, например, следующее появится на системе:

Nombre de la organización* 

Это должен be:

Nombre de la organización* 

т. е. мне нужно найти и заменить «Ã³» на «ó».

Как это сделать для всей таблицы (все поля)? (также будут другие такие поправки)

+2

Вам лучше всего настроить все на UTF-8, а не на ISO-8859-1. – JAL

+0

@alex - почему? – siliconpi

+0

@Alex JL: Хороший совет. Однако этот вопрос относится к поиску и замене некоторого текста из всех строк поля (или более полей) в таблице. –

ответ

2

Используйте функцию замены. Простой пример:

SELECT REPLACE('www.mysql.com', 'w', 'Ww'); 

Результат: «WwWwWw.mysql.com»

Теперь, если у вас есть таблица с именем Foo, и вы хотите, чтобы заменить эти символы в поле называется баром, вы можете сделать следующее :

update Foo set bar = Replace(bar, 'ó', 'ó'); 

Сделайте это для всех затронутых полей, и проблема решена.

С уважением, Lajos Arpad.

+0

похоже, что это сработает - спасибо! – siliconpi

+0

Добро пожаловать. –

Смежные вопросы