我正在使用php和mysql,我在插入纬度和经度值以及度,min和sec符号时会遇到问题。即(°,',“)符号。< / p>
我已经推荐了几个网站并尝试了不同的方法,但我无法解决它。
首先我尝试复制符号并与3个用户输入值连接。
$latitude=$degree.'°'.$min.'''.$sec.'?'.'N';
然后在执行插入查询后,$ latitude变量值将插入数据库中,但符号将被替换为随机字符,如此处所示。
2˚3ʼ4ˮN (data stored in database)
然后我尝试使用html字符代码而不是符号。
$latitude=$degree.'°'.$min.'’'.$sec.'#8221'.'N';
但它不起作用。它在数据库中显示相同的html字符。
我不知道是否存在html实体或其他问题。
答案 0 :(得分:2)
在我看来,这些值应该存储而不包括其(DMS
:Deg Min Sec)格式。
换句话说,我可以将纬度/经度(例如)存储为浮点值,并在显示时应用所需的格式。
仅举例:
您可以将日期存储为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_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
答案 1 :(得分:1)
尝试此功能:
$result = mysqli_real_escape_string();
参考以下链接