Изменить символы в MySQL с ошибкой Convert - все еще получает NÃ £ O - PullRequest
0 голосов
/ 17 февраля 2009

Я заполняю эту таблицу mysql данными из php (через post и используя filter_input). База данных - utf8, но когда у меня есть пользователь, который вводит слова с ^, ',', ~ как Não, я получаю это -> NÃ £ o

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

UPDATE:

Я добавил utf8_decode, и теперь он вставляется нормально. Кто-нибудь знает, как преобразовать строку, которая уже была в таблице? Я пытался использовать функцию конвертирования, но не могу заставить ее работать: (

UPDATE:

Я пытаюсь этот код:

выберите конвертировать (поле с использованием latin1) из таблицы, где id = 35;

И я все еще получаю это: Нет Я пробовал другие кодировки s, но я никогда не получаю слово Não

У кого-нибудь есть мысли по этому поводу?

Ответы [ 2 ]

1 голос
/ 17 февраля 2009

Сначала убедитесь, что ваша страница имеет вид utf-8

<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>

далее, если вы на Apache, сделайте sur в UTF-8 в конфигурационном файле:

AddDefaultCharset UTF-8

или вы можете сделать это в .php-файле следующим образом:

header('Content-type: text/html; charset=UTF-8'); 

если проблема не устранена, вы можете использовать функцию кодирования:

$value = utf8_encode($value);

Надеюсь, все это поможет ...

0 голосов
/ 17 февраля 2009

Похоже, что где-то по пути что-то не может обработать Unicode В результате ã интерпретируется как два отдельных символа. Убедитесь, что с Unicode все в порядке со строками в порядке.

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