Как заменить одинарную кавычку на двойную?

HEm

Сетевой бобер
[m]str_replace[/m]

-~{}~ 03.08.04 20:09:

как ты до сих пор программы-то писал?
 

Astral Man

We Will Rock You
HEm Да не приходилось с этим заморачиваться.
У меня ситуация следующая:
Есть файл с текстом в win кодировке, и в некоторых названия стоит одинарная кавычка, а данные надо добавить в БД (MSSQL)
так вот с двойными кавычками все нормально, а с одираными проблема.
Как я понял надо так сделать:
PHP:
$payer = str_replace("\'","\"",substr($val,176,160));
ничего не произошло, появляется сообщение:
Warning: mssql_query(): message: Line 66: Incorrect syntax near '‘ЁЎЁабЄ®'. (severity 15) in c:\usr\apache\host\dev\include\class\db\mssql.php on line 76
Ну в прочем как и было....

это уже в досовской кодировке, почему не знаю.
В win кодировке это: 'Сибирско

Что мне далать?
 

Demiurg

Guest
еще 2 раза прочитай.

и еще объясни, что в твоей замене значит substr($val,176,160) ?
 

lucas

Guest
sinisha

Тему нужно внимательно читать, перед тем как писать в нее.
Тем более -- всякую чушь.
Это на будущее.
 

Astral Man

We Will Rock You
Автор оригинала: Demiurg
еще 2 раза прочитай.

и еще объясни, что в твоей замене значит substr($val,176,160) ?
Это я беру из строки 160 символов начиная с 176.
Вот кусок этой строки test.txt, у меня не получается ее добавить в базу, посмотрите пожалуйста.
Этот файл FAR показывает как в win кодировке, почему в браузере в dos кодировке?
Если не сложно дайте пример добавления этого текста.

Спасибо.
 

Astral Man

We Will Rock You
Автор оригинала: Demiurg
far по умолчанию открывает файлы в cp866
У меня в низу пишет WIN.
Ну ладно пусть в cp866, но как мне эту строчку в базу запихнуть, уже не знаю что делать.
 

Demiurg

Guest
>У меня в низу пишет WIN.
хм.. может я и перепутал ...

у тебя в базе такст в какой кодировке ?
 

Astral Man

We Will Rock You
Автор оригинала: Demiurg
>У меня в низу пишет WIN.
хм.. может я и перепутал ...

у тебя в базе такст в какой кодировке ?
а где можно посмотреть? у меня MSSQL 2000

те данные которые добавляются отображаются в Enterprise manager нормально т.е. как я думаю в win кодировке.

Глянь примерчик:
PHP:
$text = convert_cyr_string("ЗАО 'Сибирско-Уральская страховая компания'","d","w");
echo $text."<br>";
$text = addslashes($text);
$text = convert_cyr_string($text,"w","d");
echo $text;
это записано в win кодировке (FAR), вот что получается
test.php
 

Найч

Алгоритмик :-)
Зачем вы ему даете фак по слэшам, если у него M$?
Astral Man
1. По поводу кавычки. На двойную ее заменять не надо. А вот такое экранирование поможет
PHP:
str_replace("'","''",$text);
2. По поводу кодировки. Скорее всего, у тебя русский сервер. Если так, то внимательно поищи по форуму - тут было лечение. Кратко: В одной из тулзеней MSSQL на какой-то вкладке надо убрать галочку наподобие этого: "Auto-convert Ansi...."
 
Сверху