2012-07-03 40 views
0

我們在產品說明中有一個有大量 字符的商店。我們嘗試運行update queries like UPDATE {table} SET description=REPLACE(description,'�','') 這在某些情況下有效,但我們仍然發現它們中的更多。任何人都知道一個簡單的方法來擺脫它們?如何擺脫SQL服務器中的 (utf8無效字符)

我們的商店運行在使用SQL SERVER 2008的Volusion上,但它們限制了您可以運行的查詢種類。如有必要,我們還會在mysql數據庫中提供所有產品信息的更新副本,以便我們可以執行任何我們想要的操作並上傳更改。

+2

你知道什麼編碼列設置,並在應用程序(如果有的話)?這可能是一個更好的解決方案,可以調整編碼,而不僅僅是刪除字符。 – Andre

+0

該符號僅代表它無法在當前編碼中顯示的字符。如果您複製並粘貼「 」,您正在複製並粘貼原始字符值,因此當您在替換語句中使用它時,在您的列中,您將替換原始字符的所有實例 - 任何其他字符, t表示在您當前的編碼中仍然存在於原始字符串中。 – Bridge

+0

我不確定編碼。 Volusion隱藏了他們所有的數據庫細節。但是當我在我們的mysql副本中完成SET NAMES的'utf8'時,所有字符都變成了他們應該看到的樣子。 – user981971

回答

0

一個PHP MySQL連接默認爲latin1的連接,因此,連接後第一個查詢應該是:

的mysql_query( 「集名稱 'UTF8'」);

也許^^

+0

SET NAMES'utf8'在mysql中工作。事情是在我走這條路線之前,我正在尋找SQL服務器內部的一種方式。 – user981971

+0

@ user981971列是什麼類型?我懷疑它是varchar,請嘗試將其更改爲nvarchar,以便它可以保存unicode數據。 – Bridge