2015-04-23 68 views
1

我正在使用php和mysql,並且在插入緯度和經度值以及度,min和sec符號時遇到問題。即(°,',「)符號。使用php在mysql中插入符號

我所提到的幾個位點和嘗試不同的方法,但我就是不能求解。

首先我試圖複製符號,並與3個用戶輸入串聯值。

$latitude=$degree.'°'.$min.'''.$sec.'?'.'N'; 

接着執行插入查詢後,則$緯度變量值被插入在數據庫中,但是符號由隨機字符替換,如下所示。

2˚3ʼ4ˮN (data stored in database) 

然後我嘗試使用html字符代碼而不是符號。

$latitude=$degree.'&deg'.$min.'&#8217'.$sec.'#8221'.'N'; 

但它不起作用。它在數據庫中顯示相同的html字符。

我不知道它是否與html實體或其他問題。

+1

你有不良enconding,是不是在應用程序和數據庫一樣。 – panther

回答

2

在我看來,這樣的值應該不包括它的(DMS:Deg Min秒)格式。

換句話說,我可能將緯度/經度(例如)存儲爲浮點值,並在顯示時應用所需的格式。

剛例如:

  • 你將存儲日期2015-04-23,但可能顯示爲4th April, 2015

  • 您可能會將金額存儲爲10.50,但可能會將其顯示爲$10.50 USD

來到經/緯度考慮36°19'11.46" N爲例,通過以下方式之一可能適用於您的情況:

  • 商店作爲36.31985但使用所需的轉換,以顯示它作爲36°19'11.46" N

  • 將其存儲爲36D19M11.46S N,但使用必需的字符串操作將其顯示爲36°19'11.46" N

  • 商店作爲四個部分lat_deglat_minlat_seclat_dir但使用級聯,以顯示它作爲36°19'11.46" N

鏈接,可以幫助:

mysql-convert-degree-minutes-seconds-to-degree-decimal

latitude-and-longitude-datatype-and-storage-format

convert-dd-to-dms-in-mysql

converting-latitude-and-longitude-coordinates-between-decimal-and-degrees-minutes-seconds

whats-the-best-way-to-store-co-ordinates-longitude-latitude-from-google-maps

+0

謝謝您的建議,我也嘗試過,它工作正常,但我的客戶是它作爲表中的一個屬性。沒有進一步的計算使用這些數據。只是爲了存儲。 – sao

+0

我也會認爲在一列中更好,但我的建議是不包括可能的格式。請檢查我更新的答案。 – Uours