我使用的是 php 和 mysql,在插入纬度和经度值以及度、分和秒符号时遇到问题。即 (°,',") 符号。
我引用了几个网站并尝试了不同的方法,但我就是无法解决它。
首先,我尝试复制符号并与 3 个用户输入值连接。
$latitude=$degree.'°'.$min.'''.$sec.'?'.'N';
然后在执行插入查询后,$latitude 变量值被插入到数据库中,但是符号被随机字符替换,如下所示。
2˚3ʼ4ˮN (data stored in database)
然后我尝试使用 html 字符代码而不是符号。
$latitude=$degree.'°'.$min.'’'.$sec.'#8221'.'N';
但它不起作用。它在数据库中显示相同的 html 字符。
不知道是html实体的问题还是什么的。
最佳答案
在我看来,这些值应该在不包括其(DMS
:Deg Min Sec)格式的情况下存储。
换句话说,我可以将纬度/经度(例如)存储为浮点值,并在显示时应用所需的格式。
举个例子:
您可以将日期存储为
2015-04-23
,但可以将其显示为2015 年 4 月 4 日
。您可以将金额存储为
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_deg
,lat_min
,lat_sec
,lat_dir
但使用连接来将其显示为36°19'11.46"N
。
可能有帮助的链接:
mysql-convert-degree-minutes-seconds-to-degree-decimal
latitude-and-longitude-datatype-and-storage-format
converting-latitude-and-longitude-coordinates-between-decimal-and-degrees-minutes-seconds
whats-the-best-way-to-store-co-ordinates-longitude-latitude-from-google-maps
关于php - 使用php在mysql中插入符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29814856/