如何在PHP中处理UTF-8与拉丁语-1编码问题+;MySQL

如何在PHP中处理UTF-8与拉丁语-1编码问题+;MySQL,php,mysql,Php,Mysql,我试图用DMS格式存储GPSlatitude和longitude值,用degree和撇号存储在mysql中,用php存储 前面的解决方案是将其转换为十进制 是否有任何特定的datatype将值存储在mysql中,符号如下: 12°53′17″N 80°13′52″E 问题是,它将替换为12°53–17–N,80°13–52–E,通过将字符集设置为utf-utf-8 Unicode来创建表。如果将表的字符集指定为Unicode,则它将接受原始纬度/经度值。 SQL的参考代码: ALTER TAB

我试图用DMS格式存储GPS
latitude
longitude
值,用
degree
撇号
存储在
mysql
中,用
php
存储

前面的解决方案是
将其转换为十进制

是否有任何特定的
datatype
将值存储在
mysql
中,符号如下:

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

问题是,它将替换为
12°53–17–N
80°13–52–E
,通过将字符集设置为
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;

就是那种格式?它必须是类似于
nvarchar()
的字符串类型。但是大多数情况下,纬度和经度都存储为小数,正如你所说的那样。谢谢。。但这对我没有帮助。@m2j,它可能不会这样做,只是你还没有弄清楚文本编码/字符集是如何工作的。@m2j“是否有任何特定的数据类型可以使用下面的符号在mysql中存储值”。我回答了你问的问题。如果没有帮助,请问另一个问题。如果您将lil格式设置为bit like而不是
'
使用single quot
'
,那么您可以使用php存储
12°53'17''N
有很多方法,请将
'
替换为single quote
'
,或者通过插入反斜杠
`for
`和
`
来使用字符串转义,记住它们不是单引号和双引号。使用PHP,我们可以替换三个值之间的任何字符串,然后在操作时分解,然后将它们转换为十进制。