Что делать с кодировкой?

Тема в разделе "PHP программирование", создана пользователем -, 15 апр 2005.

Статус темы:
Закрыта.
  1. Гость

    Господа, проблема следующая.

    язык: PHP
    база: Postgres (хранит данные в кодировке KOI8-R)

    В форме (допустим в текстовом поле) пользователь заполняет данне. После нажатия на кнопарь эти данные должны сохраниться в базе. Но если в этом текстовом поле юзер вводит символ "№", то после сохранения данных меняется кодировка.

    Пример 1:
    Ввожу "ТЕСТ 1"
    Сохраняется в базе "ТЕСТ 1"

    Пример 2:
    Ввожу "ТЕСТ №1"
    Сохраняется в базе "реяр ╧1"

    Что делать? Хотелось бы чтобы юзерам можно было использовать все возможные символы, в том числе и "№"
     
  2. Arm0

    Arm0 Гость

    а перед записью в базу меняй "опасные" символы на какой-нить свой спец символ...
    что то типа
    Код (Text):
    $text = str_replace("№", "~", $text);
    при чтении из базы - обратное действие.

    но это все на случай, если ничего другого сделать нельзя. я думаю дело в настройках... сначало надо в них покопаться.
     
  3. ExtremeRuff

    ExtremeRuff Гость

    не приходилось с таким иметь дело но лепш делать так - использовать ф-цию convert_cyr_string ("Строка тута", "2-й параметр", "3-й параметр");

    2-й и 3-й параметры принимают значения -
    Значение Кодировка
    k -> KOI8-R
    w -> win1251
    m -> x-mac-cyrillic .... Ну и поехало

    так вот 2-й параметр задаёт исходную кодировку строки
    а 3-й - требуемую.... перекодированную строку эта функция и возвращает. вот. думаю пойдёт.
     
  4. Andrew Stephanoff

    Andrew Stephanoff Гость

    в MySQL можно задавать в настройках кодировку как таблицы, так и отдельных полей.. и при запросе к БД вначале выполнять "SET charset cp1251"
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей