2017-03-23 39 views
0

我試着在mysqldegreeapostrophe存儲GPS latitudelongitude值在DMS格式php如何處理UTF-8與Latin-1編碼問題PHP + MySQL的

以前的解決方案是convert it into Decimal

有什麼特別的datatypemysql值存儲與像下面的符號:

12°53′17″N 
80°13′52″E 

的proble是,它與12°53′17″ N80°13′52″ E取代。

+2

下面的作品,準確的格式?它必須是像nvarchar()這樣的字符串類型。但最常見的經緯度都是以小數形式存儲的,正如你所說的那樣。 – Santi

+0

謝謝..但它並沒有幫助我.. – m2j

+0

@ m2j,它可能不會這樣做,它只是你沒有弄清楚文本編碼/字符集是如何工作的。 – Evert

回答

1

通過將字符集設置爲utf-UTF-8 Unicode來創建您的表格。如果您將表格的字符集指定爲Unicode,則它將接受原始的緯度/經度值。對於SQL 參考代碼:

ALTER TABLE `gps` 
DEFAULT CHARACTER SET=utf8; 

CREATE TABLE `gps` (
    `lat` varchar(255) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
+0

while using php '存儲.... – m2j

+1

使用PHP有很多方法,用單引號替換'''',或者使用字符串轉義,通過''''和'''插入反斜槓',記住這些不是單「和雙」。使用PHP,我們可以替換三個值之間的任何字符串,然後在操作時爆炸,然後再以十進制進行轉換。 – webDev