我创建了一个包含要存储在MySQL表中的Hindi(UTF-8)数据的表单。与UTF数据对应的列的归类值设置为utf_general_ci。我已经成功地将数据存储在表中,但是当我执行选择位置查询时,它不返回数据。这是我的查询:选择Birth。sno,Birth。bookingnumber,Birth。birth_date,Birth。baby_gender,Birth。baby_name,Birth。baby_father_name,。Birth,baby_father_address。Birth,baby_mother_name。Birth,birth_place。Birth,place_type。Birth,applicant_name。Birth,applicant_address 。Birth,registration_number。Birth,registration_date。Birth,registration_ward。Birth,registration_city_village。Birth,registration_district。Birth,remark。,Birth。mother_place_name,Birth。mother_place_type,Birth。mother_place_district,Birth。mother_place_state,Birth。person_religion,Birth。father_education ,Birth。mother_education,Birth。father_occupation,Birth。mother_occupation,Birth。mother_age_at_marriage,Birth。mother_age_at_birth,Birth。count_of_mother_child,。Birth,birth_by。Birth,birth_method。Birth,mother_weight_at_birth。Birth从pregnancy_duration。Birth AS date_of_issue在np。births ='d'AND Birth。Birth ='e'AND baby_name。Birth ='f'AND baby_father_name。Birth ='g'AND baby_mother_name。Birth =' AND'AND baby_father_address。Birth ='पुरुष'数据库的名称为np,表的名称为births以上查询已打印在日志文件中。我试图在HeidiSQL(MySQL的前端)中复制并粘贴相同的查询,但未运行。但是,如果删除以下部分:** AND person_religion。Birth ='हिंदू'AND baby_gender。Birth ='पुरपु'**,查询工作正常。我该如何解决这个问题? 最佳答案 当您的MySQL客户端和MySQL服务器没有“交谈”相同的编码时,就好像是这种情况。您需要在3个地方进行编码。Web表单(用户看到的内容)-> Web应用程序(CakePHP)->数据库服务器(MySQL)这三个中的一个未使用与其他编码相同的编码。所以到时候:“'हिंदू'”和“'पुरुष'”进入您的数据库,它们将完全不同,在数据库中找不到。因此,请确保在default.ctp文件中设置了编码:echo $this->Html->charset(); //这将导致页面的UTF-8编码。查看您网页的源代码(我想您有一个搜索/过滤器表单)。在顶部,您应该看到:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />然后查找为您的搜索/过滤器表单生成的代码。您应该看到:<form id="your_form_id" accept-charset="utf-8" method="post" action="/your/action/">重要的是它必须在那些地方出现“ utf-8”。接下来,查看您的database.php文件,并确保以下行:'encoding' => 'utf8',没有被注释掉!最后,对于肯定可以支持UTF-8的客户端(可能是HeidiSQL),请查看数据表np.births,并确保那里的数据真正有意义!可能由于之前的编码差异而受到了破坏。一旦数据在数据库中有意义,您就应该做好了!如果您不这样做,则必须阅读并彻底理解this article。只有这样,您才能找到问题所在并同步编码。(显然,您的PHP源文件也应该使用UTF-8编码...)关于mysql - 在CakePHP和MySQL中使用UTF和Hindi,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21495599/
10-12 17:00