我有一个用法语设计的数据库。 ID字段是N°
,它给我的Ubuntu 16.04服务器带来了非常艰难的时间......它无法正确解释它,这意味着所有相关查询显然都会失败。出于故障排除的目的,这是我想要执行的查询:
SELECT [N°] FROM PROFIL_LEADERS
我正在使用以下命令从shell执行此查询:
isql -v MY_DSN USERNAME PASS
查询返回错误:
[Microsoft] [SQL Server的ODBC驱动程序13] [SQL Server]无效的列名称“N°”。
查询在Windows笔记本电脑上运行...但不适用于Ubuntu服务器。
这是我尝试过的:
在该数据库的ODBC连接信息中,我尝试过:
charClient_CSet=UTF-8
Language=French
Charset=utf8
我使用sudo locale-gen ISO-8859-1
安装了新的区域设置,然后sudo dpkg-reconfigure locales
我已尝试将整个区域设置设为fr_FR
我尝试过查询的变体:
SELECT N° FROM PROFIL_LEADERS
SELECT "N°" FROM PROFIL_LEADERS
SELECT 'N°' FROM PROFIL_LEADERS
(最后一个给出了NÂ
的列表,我假设它是如何被编码的?)我也尝试过不引入度数符号本身,选择它的符号等价,但似乎没有得到任何东西......
这是一个微软的网络应用数据库,所以我无法按照建议here
指定字段类型我错过了什么?
(FWIW,我实际上是想把它带进R ......但我想如果我甚至无法将它正确地插入服务器,那么R也不会工作)。
ALL=fr_FR
XDG_SESSION_ID=3
TERM=xterm
SHELL=/bin/bash
SSH_CLIENT=...
SSH_TTY=/dev/pts/0
LC_ALL=fr_FR
USER=amit
MAIL=/var/mail/amit
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/mssql-tools/bin
PWD=/home/amit
COLLATE=fr_FR
LANG=C.UTF-8
SHLVL=1
HOME=/home/amit
LOGNAME=amit
SSH_CONNECTION=...
XDG_RUNTIME_DIR=/run/user/1001
_=/usr/bin/env
amit@uR-svr:~$ echo Να ζει κανείς ή να μη ζεί
Να ζει κανείς ή να μη ζεί
amit@uR-svr:~$ echo N'°'
N°
所以我想这表明shell能够处理w /输出......它只是sql不是吗?