web技巧
对数据库查询时,如果对数据库某些字段进行了转换处理,比如用了ISNULL,CONVERT,COST等函数后,会让查询出来的该字段的字段名与数据库中不一致,或着是空,或着是某个SQL SERVER自定义的名字。这一改变在纯查询的情况下不容易被发现,因为程序一般不会有什么异常反映。但是如果试图用原字段名来操作查询结果中的该字段,就会发生找不到该字段的错误。解决办法很简单,就是在查询中对字段进行了函数操作的后面使用‘AS 原字段名’的方式来保持字段名。
例如:SELECT ISNULL(custornumber, 0) AS custornumber
2.注意自动折行
在页面显示中,如果某个网格中有出现大量字符串数据的可能性,就一定要对此网格做换行处理,同时将网格宽度设为某一定值。否则出现大量字符串数据的情况时,页面往往被撑的变形而失去美观。
解决的办法即在标签的style中设定 word-wrap:break-word;
3.String.Format (String, Object) 的使用
在使用String.Format (String, Object)时,虽然第二个参数是Object类型,但是当第二个参数为字符串时,格式字符串的操作会失效。所以,具体这个Object应该是什么类型,需要与前面的字符串格式来对应判断。
例如,可以用string.Format("{0:N0}", 9999);来获取到”9,999”的效果,但是用string.Format("{0:N0}", “9999”);却得到的还是”9999”。
4.GrideView排序
用GrideView展现列表并实现针对某一字段排序时,排序动作需要在数据源上进行操作,这是因为GridView只提供了排序接口,确没有实现排序动作,需要自己实现才行。
5.实下拉列表空选项
用JavaScript在初始化时,动态的为页面上的下拉列表控件添加下拉项,并设SelectedIndex=-1,会实现下拉列表空选的效果,不过一但选择任何一条下拉项,就失去空选状态了。
<script language="javascript" type="text/javascript"> document.getElementById("dropUserRole").add(new Option("A",11)); document.getElementById("dropUserRole").add(new Option("B-1",12)); document.getElementById("dropUserRole").add(new Option("B-2",13)); document.getElementById("dropUserRole").add(new Option("B-3",14)); document.getElementById("dropUserRole").add(new Option("C",15)); document.getElementById("dropUserRole").selectedIndex = -1;
</script>
6.实现单线表格的另一种办法。
除了传统的实现单线表格外,还有另一种通过样式表实现单线表格的方法,如下所示:
# table{
border-left-style: none;
border-top-style: none;
}
# td {
border-right-style: none;
border-bottom-style: none;
}
并注意要将table的border值设为1。
这种方法的优点是页面背景色改变后,无需在改动单元格背景色。
7.在按钮文字中换行
可以用符号 将按钮文字进行换行处理,如下所示:
<asp:Button Width="100px" Height="35px" runat="server" Text="個別スカウトの メッセージを書く" />
其他字符编码可参考文后附表:《ISO Latin-1字符集》
8.弹出式窗体的控制
在很多进行编辑处理的窗体,都采取弹出一个无边框,无菜单和工具条的模态窗口的方式,这时一般会遇到两个问题。一个是弹出窗体后,发现窗体中的内容还是上一次编辑的,没有得到更新。另一个问题是在编辑窗体上提交内容时,一般会弹出一个新窗体,而不是保持弹出窗体状态。解决的办法有两点,一是在页面内置类的开始处用“Response.CacheControl = "no-cache";”来禁用本窗体的缓存功能。二是在页面文件的头部用<base target="_self" />标签来指定提交给自己。这两个设置就可以解决上述的两种问题。
9.不要使用DataList的情况
在对某一数据集进行绑定,并在前台页面中循环显示时,可以用DataList和Repeater来进行绑定,它们都具备循环处理的功能,但是如果把table的行tr标签放在循环中,动态绘制一个表格,就不要使用DataList,因为DataList不能正常绘制表格中最后一行的下边缘,此时建议使用Repeater。
10.实现表格外的操作按钮
在有些情况下,界面显示的表格中,每一行会对应有按钮用于对该行数据进行编辑,删除,浏览等其他动作,有时候,用户需求是将这些按钮置于表格之外。这时的处理办法有两种,一种是将按钮放置于表格外,将其高度和间隔设置为和表格单元格一致,并且设置为底端对齐。这种办法实现起来简单,但是只适用于表格中每行高度不变的情况下。如果表格中的某一行因为显示较长的数据而折行,从而造成这行的高度与其他行不一致,就会发送和表外的按钮错开的情况,不容易对齐。所以好一点的解决办法是将按钮仍放置于表格内,将该按钮周围的表格边线去除,造成按钮在表格之外的感觉,同时也不会因为表格单行高度的变化而出现按钮和对应行对不齐的情况。
控制只显示指定边风格的示例如下:
<td style=" height: 20px;border-bottom: thin 1px #cccccc; border-bottom-style: solid; border-right: thin 1px #cccccc; border-right-style: solid; border-left: thin 1px #cccccc; border-left-style: solid; " >只显示单元格下,右,左的风格设置</td>
11.空白表格单元的表示
通常有些表格是由读取数据库中的数据,动态构造生成的。对于没有数据的内容项,不能用null,string.Empty等返回到前台界面显示,这些值会造成表格中出现没有边框的单元格,也就是一块空白,影响界面美观。而应将其值转换为字符串“ ”才能显示。
12.调试JavaScript的方法
首先,在浏览器里启动脚本调试:在IE里菜单 工具->Internet 选项->高级页中,把Disable script debugging (Internet Explorer) 前的勾去掉
然后在 VS 2005 里打开你的项目,把你要调试的网页设置为起始页,然后按F5,然后去 VS 2005 菜单 Debug-> Windows ->Script Explorer,VS 2005就会打开脚本管理器,双击其中某个JS文件,该文件将会在主窗口打开,然后你就可以添加断点调试。
还有一种方法,设置完菜单 工具-> Internet选项->高级页里启动脚本调试后,关闭浏览器,重新打开IE,打开想调试的网页,然后去菜单 View->Script Debugger,这里选择一个调试器,一般选一个VS 2005的新实例,然后就可以按常规方法设置断点调试了。
13.在JavaScript中获取整行对象
有时候,我们需要用JavaScript对表格中的某一行设置属性,如果用循环遍历每一个单元格设置,会比较麻烦,这时可以给该行设置一个唯一的ID,通过var obj = document.getElementById(id);来获取,但是不能用event.srcElement来获取,比如点击某个单元格,要改变单元格所在行的整体显示效果,用event.srcElement就只能获取到此单元格对象。所以可以把onclick事件加在TR标签里,用前述方法获取此TR对象。
14.span标签的display属性
有时可以用span来绘制一个区域块,但是经常会遇到给其设置width无效的情况,此时只要将其style中加上display:inline-block;就可以正常设置其width属性了。
15.JavaScript中的大小写
Javascript是区分大小写的,在给某些对象设置属性值时更要注意这个问题。比如,给某个区域设置bgcolor属性值为#00FF00,但是却发现显示没有变化,调试javascript,监视到bgcolor已被正确赋值,但是显示却不正确。原因很简单,应该是bgColor而不是bgcolor,也就是说,如果设置了错误的属性名,javascript是不会报错的,所以这种错误比较隐蔽,需要特别留意。
16.页面右边距的设置
当表格被数据撑的很长时,设置页面右边距会失效,无论设置多大的值,表格右边线会紧紧贴着滚动条,即使在表格后面加底色字符,加空格,都会自动折行,没有办法达到撑开页面的效果,这种情况非常影响美观。解决的办法很简单,可 以将这个表格放到一个border=“0”的,只包含一个单元格的表格中,并将Cellspacing值设为右边距值,就可以在原表格右边线和滚动条之间空出一段距离了。
17.window.open的奇怪bug
下面javascript语句错在哪里?
window.open(“sample.html”,”_blank”,top=0,left=0,width=200,height=200);
这条语句的错误很容易被忽视,javascript也能正常执行,但是会出现奇怪的现象,比如把这句话放到某个按钮的onclick事件里,点击后,按钮尺寸会突然变成200*200,而弹出的窗体却是默认大小,根本没有被设置长宽尺寸。错误就在top=0,left=0,width=200,height=200这些表示新窗口特征的属性,应该用一对引号引起来,否则javascript会认为是对产生事件的对象做此设置,所以应该写成 “top=0,left=0,width=200,height=200”
18.repeater控件的嵌套使用
有时候,会将主从表之类的数据,用嵌套的形式,显示在同一个大表中,或者是按某个顺序分类显示,这些都有可能会有repeater的嵌套使用。使用的方法就是在外层repeater控件的OnItemCreated事件中,添加对内层repeater的数据源绑定操作,代码如下例所示:
页面上添加属性:
<asp:Repeater ID="RecruitPlanInfoList" runat="server" OnItemCreated="RecruitPlanInfoCreated">
后台代码方法实现:
protected void RecruitPlanInfoCreated(object sender, RepeaterItemEventArgs e)
{
Repeater detailList = e.Item.FindControl("RecruitPlanInfo") as Repeater;
if (detailList != null)
{
RecruitPlanInfo rpi = e.Item.DataItem as RecruitPlanInfo;
if (rpi != null)
{
detailList.DataSource = rpi.InfoDataTable;
detailList.DataBind();
}
}
}
19.动态实现多表头的方法
对于多表头,一般采用静态设置table的方法,但也可以在Grideview控件中动态实现。主要就是在GridView的RowCreated中,对其首行进行修改设置,示例如下:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells.Clear();
Table t = this.GridView1.Controls[0] as Table;
GridViewRow row = new GridViewRow(0, -1, DataControlRowType.Header, DataControlRowState.Normal);
TableCell headerCell = new TableHeaderCell();
headerCell.Text = "1";
headerCell.Width = 100;
headerCell.RowSpan = 2;
row.Cells.Add(headerCell);
headerCell = new TableHeaderCell();
headerCell.Text = "2";
headerCell.Width = 100;
headerCell.RowSpan = 2;
row.Cells.Add(headerCell);
headerCell = new TableHeaderCell();
headerCell.Text = "3";
headerCell.Width = 100;
row.Cells.Add(headerCell);
headerCell = new TableHeaderCell();
headerCell.Text = "4";
headerCell.Width = 100;
row.Cells.Add(headerCell);
headerCell = new TableHeaderCell();
headerCell.Text = "5";
headerCell.Width = 100;
row.Cells.Add(headerCell);
headerCell = new TableHeaderCell();
headerCell.Text = "6";
headerCell.Width = 100;
row.Cells.Add(headerCell);
row.Cells.Add(headerCell);
t.Rows.AddAt(0, row);
TableCell th = new TableHeaderCell();
th.Text = "Test";
e.Row.Cells.Add(th);
TableCell th2 = new TableHeaderCell();
th2.Text = "Test2";
e.Row.Cells.Add(th2);
TableCell th3 = new TableHeaderCell();
th3.Text = "Test3";
e.Row.Cells.Add(th3);
TableCell th4 = new TableHeaderCell();
th4.Text = "Test4";
e.Row.Cells.Add(th4);
}
}
20.字体大小设置
对字体大小的设置,一般有两种,一种是设置其大小类别,如style="font-size:medium",另一种是设置其大小为一个常量数值。这两种方法的区别在于,用前一种方法设置时,会随着浏览器字体大小设置的变化而变化,比如按Ctrl键同时在浏览器中滚动鼠标滚轮,字体会有缩放的效果,有时候,字体变大了会将其设定了固定大小的容器(比如表格)撑得变形,所以如果有页面样式固定的需求,一般最好使用常量数值来设置其大小,这样就不会出现前面所说的这种情况了。
21.未定义变量?
javascript中,如果给某个变量赋了一个未定义的值后,此变量就会变成未定义。
22.事件的来源?
javascript中,事件不是来自于某个具体元素,而是来自window对象,具体激发事件的元素可以由event.srcElement获取到。但是,给TR的onclick事件中获取到的srcElement是TD,而不是TR;
23.弹出对话框
弹出模态对话框,属性设置要留意用红色标注的地方。
OnClientClick="javascript:window.showModalDialog('TaskEdit.aspx',window,'dialogWidth:800px;dialogHeight:200px;status:no');return false;"
1)要加dialog前缀。
2)要用":"而不是"="来连接属性和值。
3)必须加"px",因为默认单位为"em"。
24.对于字符串表示日期的比较办法
1. SELECT DATEDIFF(day, CAST('20060101' AS DATETIME), GETDATE())
2. SELECT CAST('20060101' AS DATETIME), CAST((CONVERT(varchar(20), GETDATE(), 112) + ' 00:00:00') AS DATETIME)
附:
ISO Latin-1字符集
字符
|
十进制字符编号
|
实体名字
|
说明
|
---
|
�
|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|
	
|
---
|
制表符Horizontal tab
|
---
|
|
---
|
换行Line feed
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|
|
---
|
回车Carriage Return
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
---
|

|
---
|
未使用Unused
|
|
 
|
---
|
Space
|
!
|
!
|
---
|
惊叹号Exclamation mark
|
"
|
"
|
"
|
双引号Quotation mark
|
#
|
#
|
---
|
数字标志Number sign
|
$
|
$
|
---
|
美元标志Dollar sign
|
%
|
%
|
---
|
百分号Percent sign
|
&
|
&
|
&
|
Ampersand
|
'
|
'
|
---
|
单引号Apostrophe
|
(
|
(
|
---
|
小括号左边部分Left parenthesis
|
)
|
)
|
---
|
小括号右边部分Right parenthesis
|
*
|
*
|
---
|
星号Asterisk
|
+
|
+
|
---
|
加号Plus sign
|
,
|
,
|
---
|
逗号Comma
|
-
|
-
|
---
|
连字号Hyphen
|
.
|
.
|
---
|
句号Period (fullstop)
|
/
|
/
|
---
|
斜杠Solidus (slash)
|
0
|
0
|
---
|
数字0 Digit 0
|
1
|
1
|
---
|
数字1 Digit 1
|
2
|
2
|
---
|
数字2 Digit 2
|
3
|
3
|
---
|
数字3 Digit 3
|
4
|
4
|
---
|
数字4 Digit 4
|
5
|
5
|
---
|
数字5 Digit 5
|
6
|
6
|
---
|
数字6 Digit 6
|
7
|
7
|
---
|
数字7 Digit 7
|
8
|
8
|
---
|
数字8 Digit 8
|
9
|
9
|
---
|
数字9 Digit 9
|
:
|
:
|
---
|
冒号Colon
|
;
|
;
|
---
|
分号Semicolon
|
<
|
<
|
<
|
小于号Less than
|
=
|
=
|
---
|
等于符号Equals sign
|
>
|
>
|
>
|
大于号Greater than
|
?
|
?
|
---
|
问号Question mark
|
@
|
@
|
---
|
Commercial at
|
A
|
A
|
---
|
大写A Capital A
|
B
|
B
|
---
|
大写B Capital B
|
C
|
C
|
---
|
大写C Capital C
|
D
|
D
|
---
|
大写D Capital D
|
E
|
E
|
---
|
大写E Capital E
|
F
|
F
|
---
|
大写F Capital F
|
G
|
G
|
---
|
大写G Capital G
|
H
|
H
|
---
|
大写H Capital H
|
I
|
I
|
---
|
大写J Capital I
|
J
|
J
|
---
|
大写K Capital J
|
K
|
K
|
---
|
大写L Capital K
|
L
|
L
|
---
|
大写K Capital L
|
M
|
M
|
---
|
大写M Capital M
|
N
|
N
|
---
|
大写N Capital N
|
O
|
O
|
---
|
大写O Capital O
|
P
|
P
|
---
|
大写P Capital P
|
Q
|
Q
|
---
|
大写Q Capital Q
|
R
|
R
|
---
|
大写R Capital R
|
S
|
S
|
---
|
大写S Capital S
|
T
|
T
|
---
|
大写T Capital T
|
U
|
U
|
---
|
大写U Capital U
|
V
|
V
|
---
|
大写V Capital V
|
W
|
W
|
---
|
大写W Capital W
|
X
|
X
|
---
|
大写X Capital X
|
Y
|
Y
|
---
|
大写Y Capital Y
|
Z
|
Z
|
---
|
大写Z Capital Z
|
[
|
[
|
---
|
中括号左边部分Left square bracket
|
\
|
\
|
---
|
反斜杠Reverse solidus (backslash)
|
]
|
]
|
---
|
中括号右边部分Right square bracket
|
^
|
^
|
---
|
Caret
|
_
|
_
|
---
|
下划线Horizontal bar (underscore)
|
`
|
`
|
---
|
尖重音符Acute accent
|
a
|
a
|
---
|
小写a Small a
|
b
|
b
|
---
|
小写b Small b
|
c
|
c
|
---
|
小写c Small c
|
d
|
d
|
---
|
小写d Small d
|
e
|
e
|
---
|
小写e Small e
|
f
|
f
|
---
|
小写f Small f
|
g
|
g
|
---
|
小写g Small g
|
h
|
h
|
---
|
小写h Small h
|
i
|
i
|
---
|
小写i Small i
|
j
|
j
|
---
|
小写j Small j
|
k
|
k
|
---
|
小写k Small k
|
l
|
l
|
---
|
小写l Small l
|
m
|
m
|
---
|
小写m Small m
|
n
|
n
|
---
|
小写n Small n
|
o
|
o
|
---
|
小写o Small o
|
p
|
p
|
---
|
小写p Small p
|
q
|
q
|
---
|
小写q Small q
|
r
|
r
|
---
|
小写r Small r
|
s
|
s
|
---
|
小写s Small s
|
t
|
t
|
---
|
小写t Small t
|
u
|
u
|
---
|
小写u Small u
|
v
|
v
|
---
|
小写v Small v
|
w
|
w
|
---
|
小写w Small w
|
x
|
x
|
---
|
小写x Small x
|
y
|
y
|
---
|
小写y Small y
|
z
|
z
|
---
|
小写z Small z
|
{
|
{
|
---
|
大括号左边部分Left curly brace
|
|
|
|
|
---
|
竖线Vertical bar
|
}
|
}
|
---
|
大括号右边部分Right curly brace
|
~
|
~
|
---
|
Tilde
|
---
|

|
---
|
未使用Unused
|
|
 
|
|
空格Nonbreaking space
|
¡
|
¡
|
¡
|
Inverted exclamation
|
¢
|
¢
|
¢
|
货币分标志Cent sign
|
£
|
£
|
£
|
英镑标志Pound sterling
|
¤
|
¤
|
¤
|
通用货币标志General currency sign
|
¥
|
¥
|
¥
|
日元标志Yen sign
|
¦
|
¦
|
¦ or &brkbar;
|
断竖线Broken vertical bar
|
§
|
§
|
§
|
分节号Section sign
|
¨
|
¨
|
¨ or ¨
|
变音符号Umlaut
|
©
|
©
|
©
|
版权标志Copyright
|
ª
|
ª
|
ª
|
Feminine ordinal
|
«
|
«
|
«
|
Left angle quote, guillemet left
|
¬
|
¬
|
¬
|
Not sign
|
|
­
|
­
|
Soft hyphen
|
®
|
®
|
®
|
注册商标标志Registered trademark
|
¯
|
¯
|
¯ or &hibar;
|
长音符号Macron accent
|
°
|
°
|
°
|
度数标志Degree sign
|
±
|
±
|
±
|
加或减Plus or minus
|
²
|
²
|
²
|
上标2 Superscript two
|
³
|
³
|
³
|
上标3 Superscript three
|
´
|
´
|
´
|
尖重音符Acute accent
|
µ
|
µ
|
µ
|
Micro sign
|
¶
|
¶
|
¶
|
Paragraph sign
|
·
|
·
|
·
|
Middle dot
|
¸
|
¸
|
¸
|
Cedilla
|
¹
|
¹
|
¹
|
上标1 Superscript one
|
º
|
º
|
º
|
Masculine ordinal
|
»
|
»
|
»
|
Right angle quote, guillemet right
|
¼
|
¼
|
¼
|
四分之一Fraction one-fourth
|
½
|
½
|
½
|
二分之一Fraction one-half
|
¾
|
¾
|
¾
|
四分之三Fraction three-fourths
|
¿
|
¿
|
¿
|
Inverted question mark
|
À
|
À
|
À
|
Capital A, grave accent
|
Á
|
Á
|
Á
|
Capital A, acute accent
|
Â
|
Â
|
Â
|
Capital A, circumflex
|
Ã
|
Ã
|
Ã
|
Capital A, tilde
|
Ä
|
Ä
|
Ä
|
Capital A, di?esis / umlaut
|
Å
|
Å
|
Å
|
Capital A, ring
|
Æ
|
Æ
|
Æ
|
Capital AE ligature
|
Ç
|
Ç
|
Ç
|
Capital C, cedilla
|
È
|
È
|
È
|
Capital E, grave accent
|
É
|
É
|
É
|
Capital E, acute accent
|
Ê
|
Ê
|
Ê
|
Capital E, circumflex
|
Ë
|
Ë
|
Ë
|
Capital E, di?esis / umlaut
|
Ì
|
Ì
|
Ì
|
Capital I, grave accent
|
Í
|
Í
|
Í
|
Capital I, acute accent
|
Î
|
Î
|
Î
|
Capital I, circumflex
|
Ï
|
Ï
|
Ï
|
Capital I, di?esis / umlaut
|
Ð
|
Ð
|
Ð
|
Capital Eth, Icelandic
|
Ñ
|
Ñ
|
Ñ
|
Capital N, tilde
|
Ò
|
Ò
|
Ò
|
Capital O, grave accent
|
Ó
|
Ó
|
Ó
|
Capital O, acute accent
|
Ô
|
Ô
|
Ô
|
Capital O, circumflex
|
Õ
|
Õ
|
Õ
|
Capital O, tilde
|
Ö
|
Ö
|
Ö
|
Capital O, di?esis / umlaut
|
×
|
×
|
×
|
乘号Multiply sign
|
Ø
|
Ø
|
Ø
|
Capital O, slash
|
Ù
|
Ù
|
Ù
|
Capital U, grave accent
|
Ú
|
Ú
|
Ú
|
Capital U, acute accent
|
Û
|
Û
|
Û
|
Capital U, circumflex
|
Ü
|
Ü
|
Ü
|
Capital U, di?esis / umlaut
|
Ý
|
Ý
|
Ý
|
Capital Y, acute accent
|
Þ
|
Þ
|
Þ
|
Capital Thorn, Icelandic
|
ß
|
ß
|
ß
|
Small sharp s, German sz
|
à
|
à
|
à
|
Small a, grave accent
|
á
|
á
|
á
|
Small a, acute accent
|
â
|
â
|
â
|
Small a, circumflex
|
ã
|
ã
|
ã
|
Small a, tilde
|
ä
|
ä
|
ä
|
Small a, di?esis / umlaut
|
å
|
å
|
å
|
Small a, ring
|
æ
|
æ
|
æ
|
Small ae ligature
|
ç
|
ç
|
ç
|
Small c, cedilla
|
è
|
è
|
è
|
Small e, grave accent
|
é
|
é
|
é
|
Small e, acute accent
|
ê
|
ê
|
ê
|
Small e, circumflex
|
ë
|
ë
|
ë
|
Small e, di?esis / umlaut
|
ì
|
ì
|
ì
|
Small i, grave accent
|
í
|
í
|
í
|
Small i, acute accent
|
î
|
î
|
î
|
Small i, circumflex
|
ï
|
ï
|
ï
|
Small i, di?esis / umlaut
|
ð
|
ð
|
ð
|
Small eth, Icelandic
|
ñ
|
ñ
|
ñ
|
Small n, tilde
|
ò
|
ò
|
ò
|
Small o, grave accent
|
ó
|
ó
|
ó
|
Small o, acute accent
|
ô
|
ô
|
ô
|
Small o, circumflex
|
õ
|
õ
|
õ
|
Small o, tilde
|
ö
|
ö
|
ö
|
Small o, di?esis / umlaut
|
÷
|
÷
|
÷
|
除号Division sign
|
ø
|
ø
|
ø
|
Small o, slash
|
ù
|
ù
|
ù
|
Small u, grave accent
|
ú
|
ú
|
ú
|
Small u, acute accent
|
û
|
û
|
û
|
Small u, circumflex
|
ü
|
ü
|
ü
|
Small u, di?esis / umlaut
|
ý
|
ý
|
ý
|
Small y, acute accent
|
þ
|
þ
|
þ
|
Small thorn, Icelandic
|
ÿ
|
ÿ
|
ÿ
|
Small y, umlaut
|