php - 使用php在mysql中插入符号

标签 php mysql

我使用的是 php 和 mysql,在插入纬度和经度值以及度、分和秒符号时遇到问题。即 (°,',") 符号。

我引用了几个网站并尝试了不同的方法,但我就是无法解决它。

首先,我尝试复制符号并与 3 个用户输入值连接。

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

然后在执行插入查询后,$latitude 变量值被插入到数据库中,但是符号被随机字符替换,如下所示。

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

然后我尝试使用 html 字符代码而不是符号。

$latitude=$degree.'&deg'.$min.'&#8217'.$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

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

关于php - 使用php在mysql中插入符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29814856/

相关文章:

php - Laravel 中的复合外键

c++ - 如何在数据库更改时更新 QTableView

mysql - 如何长时间存储点击次数/天?

mysql - 从具有重复项的列中获取所有值

php - 在 PHP 7.0.1 中找不到 Finfo 类

php - 如何在 magento 1.7 中制作自定义模块

php - php/html 中的动态复选框

mysql - 使用 MySQL 删除数据库字段的每个单元格中的字符(特定斜杠)

mysql - 查询删除重复组

php - 无法使用 PHP 将文件上传到服务器上