View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
13140 | Bug reports | Other | public | 2018-01-08 15:12 | 2018-01-26 14:51 |
Reporter | fvanderstarre | Assigned To | |||
Priority | none | Severity | partial_block | ||
Status | closed | Resolution | unable to reproduce | ||
Product Version | 3.0.0-rc.x | ||||
Summary | 13140: Storing character data in ms-sql | ||||
Description | Character data are not stored natively as UTF8 data in ms-sql. Instead, UCS-2 is used. To prevent problems database update statements for strings should read: (example) "UPDATE dbo.survey_881359 SET [lastpage]=2, [datestamp]='2018-01-08 14:33:30', [881359X1826X30711]= (N'ccaron č - scaron š'), [881359X1826X30698]='1', [881359X1826X30700]='' WHERE ID=17". | ||||
Steps To Reproduce | Try entering "č" as a character in some question text or text answer. It will be stored as "c" when using a ms-sql database. | ||||
Additional Information | Strangely enough, "š" will not give any trouble (as long as database text column is defined as nvarchar() or nchar() or ntext. | ||||
Tags | No tags attached. | ||||
Bug heat | 4 | ||||
Complete LimeSurvey version number (& build) | 3.0.1 build 171228, 2.6.4lts build 170202, in fact any... | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | Any | ||||
Database type & version | MS-SQL 2008 R2 | ||||
Server OS (if known) | Linux RHEL 7 | ||||
Webserver software & version (if known) | Apache 2.4.6 | ||||
PHP Version | 5.6.33 | ||||
No problems here with MSSQL 2012 on a Windows machine. |
|
@fvanderstarre Have you set your FreeTDS version properly? See https://manual.limesurvey.org/Troubleshooting#No_questions_are_shown_when_using_MSSQL_Server_with_FreeTDS_on_Linux |
|
In our system we have to use: TDSversion = 0. If set to 8, we get an error: |
|
This is obviously a server configuration error. See https://stackoverflow.com/questions/5414890/mssql-query-issue-in-php-and-querying-text-data for possible solutions. |
|
Carsten, I don't agree. See this table taken from the freeTDS.org web page: Microsoft SQL Server 2000 7.1 Include support for bigint (64 bit integers), variant and collation on all fields. Collation is not widely used. Furthermore, in LS version 2.05 plus build 141229 several database column definitions were changed from varchar(..) to nvarchar(..), like <title> in <questions> for instance, but ONLY IN THE INSTALLER, NOT the update script. So we have missed this in our installation where we updated from one versio to the other due to the large number of ongoing surveys we have here (several hundred). |
|
Also, if character like 'č' is already in the database, it is retrieved and displayed OK, but it is lost when changes to e.g. question text are made in the application front end. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2018-01-08 15:12 | fvanderstarre | New Issue | |
2018-01-08 15:20 |
|
Assigned To | => markusfluer |
2018-01-08 15:20 |
|
Status | new => assigned |
2018-01-24 16:30 | c_schmitz | Note Added: 46026 | |
2018-01-24 16:32 | c_schmitz | Note Added: 46027 | |
2018-01-25 07:49 | fvanderstarre | Note Added: 46057 | |
2018-01-25 09:23 | c_schmitz | Note Added: 46062 | |
2018-01-25 09:24 | c_schmitz | Status | assigned => closed |
2018-01-25 09:24 | c_schmitz | Resolution | open => unable to reproduce |
2018-01-26 09:28 | fvanderstarre | Note Added: 46104 | |
2018-01-26 14:51 | fvanderstarre | Note Added: 46113 |