∞ преобразуется в ∞ при вставке в таблицу MySQL - PullRequest
3 голосов
/ 15 января 2010

Символ бесконечности () преобразуется в ∞, когда он вставляется в мою таблицу MySQL PHP-скриптом, но если я вставляю его непосредственно из phpMyAdmin, он вставляется правильно. Символ передается в сценарий PHP посредством вызова GET с функцией JavaScript encodeURIComponent() вокруг содержимого. Поле в базе данных MySQL: utf8_swedish_cl. Как получить для вставки в базу данных как ?

Ответы [ 4 ]

2 голосов
/ 15 января 2010

Проверьте этот действительно хороший SO ответ: UTF-8 на всем пути до ...

1 голос
/ 15 января 2010

Вы уверены , что phpMyAdmin все делает правильно? ∞ Очень похоже на символ UTF8, хранящийся в столбце latin-1.

Что вы получаете, когда делаете это select hex(column_name) from the_table?

  • Если это E2889E, то ваше соединение UTF8, ваш столбец может не быть.

  • Если это C3AC, значит, ваше соединение латинское-1, а ваш столбец - utf8.

  • Если это EC, то и ваше соединение, и столбец - латиница-1

Вот быстрый способ убедиться, что кодировка столбца UTF8:

select 
    column_name, character_set_name, collation_name 
from 
    information_schema.columns
where
    table_name = '_your table_'
0 голосов
/ 15 января 2010

Не забывайте "запрос" SET CHARACTER SET utf8 в начале ваших сценариев.

0 голосов
/ 15 января 2010

Вы устанавливаете SET NAMES utf8 перед вставкой содержимого в базу данных?

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