如何将希伯来文本插入列? [SQL 2000]

时间:2013-11-30 14:39:40

标签: php sql-server-2000 hebrew

我试图将希伯来语的文本值插入到列中, 但它将价值改为Gibberish。 一个例子:

  

mssql_query(“UPDATE TABLE SET COLUMON =N'בדיקה'”);

您可以假设,它会更改列的值,但值更改为?????,如果我尝试从查询分析器执行此操作,则可以正常工作。

我的专栏的排序规则为HEBREW_CI_AS。我怎样才能解决这个问题?

2 个答案:

答案 0 :(得分:1)

您需要在正在使用的INSERT语句中为字符串指定排序规则首选项。您插入的字符串也应该是UNICODE数据类型 - 请使用N前缀。

  

INSERT INTO MEMB_INFO(用户,通行证,姓名)VALUES('Joni','123456',N'גונידף'COLLATEHEBREW_CI_AS)

检查PHP变量是否可以处理unicode字符。否则将是PHP将您的字符串变成问号。

您可以查看SQL Server drivers for PHP。 来自PHP doicumentation的Unicode Character Properties

PHP和unicode上的一些资源:

http://www.sitepoint.com/bringing-unicode-to-php-with-portable-utf8/

http://php.net/manual/en/function.utf8-encode.php

http://allseeing-i.com/How-to-setup-your-PHP-site-to-use-UTF8

http://www.yiiframework.com/wiki/16/how-to-set-up-unicode/

http://pageconfig.com/post/portable-utf8

答案 1 :(得分:0)

我解决了这个问题,如果其他人有这个问题,我可以通过这种方式解决这个问题:

  
      
  1. 为此特定表创建新数据库,或为您的Web创建表。
  2.   
  3. 将Hebrew_CI_AS设置为整理(每个人都是他创建的)。
  4.   
  5. 在您的PHP代码中,使用mb_convert_encoding()函数进行SELECT和INSERT。
  6.