我试图将希伯来语的文本值插入到列中, 但它将价值改为Gibberish。 一个例子:
mssql_query(“UPDATE TABLE SET COLUMON =N'בדיקה'”);
您可以假设,它会更改列的值,但值更改为?????
,如果我尝试从查询分析器执行此操作,则可以正常工作。
我的专栏的排序规则为HEBREW_CI_AS
。我怎样才能解决这个问题?
答案 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
答案 1 :(得分:0)
我解决了这个问题,如果其他人有这个问题,我可以通过这种方式解决这个问题:
- 为此特定表创建新数据库,或为您的Web创建表。
- 将Hebrew_CI_AS设置为整理(每个人都是他创建的)。
- 在您的PHP代码中,使用mb_convert_encoding()函数进行SELECT和INSERT。
醇>