我在插入语句中有阿拉伯语文本的插入?????或通过WIX SQL脚本的一些有线字符
<sql:SqlScript Id='Insertion1' BinaryKey='Insertion' Sequence='3' ExecuteOnInstall='yes' ContinueOnError='yes' />
这是我用于插入的命令,如
delimiter$$
INSERT INTO
[dbo].[Location]([Id],[LocationDesc],[LocationDesc_AR],[LocationTypeID],[FullLocationDesc_AR],[CreateDate],[UpdatedDate],[CreatedBy])
VALUES(566,'Al Souq JTC',N'السوق','1',N'تقاطع السوق','4/21/2014 12:42:51
PM','4/21/2014 12:43:24 PM','')$$
delimiter $$
当我运行脚本时它的工作正常但是通过WIX TOOL SET它没有正确插入。
答案 0 :(得分:0)
查看您的查询代码我想:哦,当然!你阿拉伯文字面前的领先N
不见了。至少我在浏览器中看不到它。
我将你的代码复制到我的SQL窗口 - 魔术! - 领先的N
就在那里......
通过文本中的箭头键跳转显示,该实际字符串被隐式定义为RTL(从右到左),您甚至无法通过将鼠标移到它上来标记它。
这是在SQL Server中使用的两个示例
SELECT N'السوق'
SELECT N'تقاطع السوق'
如果没有N
,您会收到问号
SELECT 'السوق'
SELECT 'تقاطع السوق'
我的假设:您的工具无法处理RTL字符。即使是这里的Chrome浏览器也无法......领先的N在某种程度上被吞噬了......
您的代码,只需复制和粘贴即可。 领先的N
在那里但是看不见!!
INSERT INTO
[dbo].[Location]([Id],[LocationDesc],[LocationDesc_AR],[LocationTypeID],[FullLocationDesc_AR],[CreateDate],[UpdatedDate],[CreatedBy])
VALUES(566,'Al Souq JTC',N'السوق','1',N'تقاطع السوق','4/21/2014 12:42:51
PM','4/21/2014 12:43:24 PM','')
逗号前的换行符
INSERT INTO
[dbo].[Location]([Id],[LocationDesc],[LocationDesc_AR],[LocationTypeID],[FullLocationDesc_AR],[CreateDate],[UpdatedDate],[CreatedBy])
VALUES
(566
,'Al Souq JTC'
,N'السوق'
,'1'
,N'تقاطع السوق'
,'4/21/2014 12:42:51 PM'
,'4/21/2014 12:43:24 PM','')
至少我的浏览器会显示前导N
如果没有绑定在一起而没有任何空白或换行符......试一试......
我上面的工作示例在一行中起作用:
SELECT N'السوق',N'تقاطع السوق'
但是现在尝试在它们之间放置非RTL值(必须把它称为非阿拉伯语,以表明我的意思):
SELECT N'arabic',123,N'arabic'
我的浏览器完全混淆了这一点,你的工具很可能......