当我尝试打印一个'Á'时,我一直得到UnicodeEncodeError,这是我在python 3.4中使用selenium请求的网站.
我已经在我的.py文件的顶部定义了
# -*- coding: utf-8 -*-
def是这样的:
from selenium import webdriver
b = webdriver.Firefox()
b.get('http://fisica.uniandes.edu.co/personal/profesores-de-planta')
dataProf = b.find_elements_by_css_selector('td[width="508"]')
for dato in dataProf:
print(datos.text)
Run Code Online (Sandbox Code Playgroud)
和例外:
Traceback (most recent call last):
File "C:/Users/Andres/Desktop/scrap/scrap.py", line 444, in <module>
dar_p_fisica()
File "C:/Users/Andres/Desktop/scrap/scrap.py", line 390, in dar_p_fisica
print(datos.text) #.encode().decode('ascii', 'ignore')
File "C:\Python34\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2010' in position 173: character maps to <undefined>
Run Code Online (Sandbox Code Playgroud)
提前致谢
我正在尝试为一家医院制作 RoR 申请,以便它拥有患者、医生、办公室等。
我遇到的问题是,在患者“注册”时,我无法将新患者保存在数据库中。事实上,尽管我已经检查过属性没问题(它只是一个名字和一个个人 ID),一旦该方法被执行,在数据库中只会出现一个带有“<null>”的新行而不是实际的属性值. 这是方法:
def pat_create
pName = params[:name].to_s
id = params[:pid].to_s.to_i
pat = Patient.where(:pID => id).first
if pat == nil
pat = Patient.new(:name => pName, :pID =>id)
pat.save
end
end
Run Code Online (Sandbox Code Playgroud)
此外,这是它构造的查询:
INSERT INTO `patients` (`created_at`, `name`, `pID`, `updated_at`) VALUES ('2013-05-20 02:04:28', NULL, NULL, '2013-05-20 02:04:28')
Run Code Online (Sandbox Code Playgroud)
在其他一些视图以这种形式收集 :name 和 :pid 信息后调用此方法:
<%= form_tag('/page/pat_create') do %>
<%= text_field_tag :name, nil%>
<%= text_field_tag :pid, nil%>
<%= button_tag(type: "submit", class: "btn btn-success") do %>
Register<i class="icon-white icon-plus"></i>
<%end%>
<%end%>
Run Code Online (Sandbox Code Playgroud)
不用说,pat.errors.empty? …